Несколько текстовых полей с одинаковым именем

#jquery #grails #gsp

#jquery #grails #gsp

Вопрос:

У меня есть несколько текстовых полей, которые создаются динамически, эти текстовые поля имеют одинаковые имена и разные идентификаторы. Мне нужно получить значения всех этих текстовых полей через ajax, но я не имел ни малейшего представления, пожалуйста, подскажите, как я могу этого добиться.

Редактировать

Я пытался

 $('#addMultipleEducationLevel').on('click', function () {
    $.ajax({
        url: "${createLink(controller: 'someController', action: 'someAction')}",
        data: {degreeId:$( "#degree" ).val(),fieldOfStudy:$('[name=fieldsOfStudy]').serialize()}
    });
})
  

Но я получаю

  [fieldOfStudy:fieldsOfStudy=amp;fieldsOfStudy=Biblical Hebrewamp;fieldsOfStudy=Applied Business (Double Award), degreeId:3, action:someAction, controller:somecontroller]
  

Комментарии:

1. Можете ли вы показать нам свой код?

Ответ №1:

Вы можете просто использовать селектор атрибутов и serialize() собирать данные для отправки:

 var ajaxData= $('[name=name]').serialize();

$.post('/path/to/server', ajaxData, function(response){
   /* do something with response */
});
  

DEMO

Комментарии:

1. проверить это для чего? Вам нужно быть более конкретным в деталях вашей проблемы относительно того, каковы ваши ожидания. Вот почему вы получаете множество голосов «против»

Ответ №2:

привет @Abdullah, используя этот способ, ты получаешь всю ценность.

если у вас есть несколько текстовых полей с одинаковым именем, например

 <input type="text" name="a1" value="a">
<input type="text"  name="a1" value="b">
<input type="text"  name="a1" value="c">
<input type="text" name="a1" value="d">
  

код jquery:

 var a="";
$("input:text").each(function () {
    if (this.value != undefined) {
        a  = this.value  ',';
    }       
});
alert(a);
  

а теперь отправьте свое значение с помощью ajax

 $.ajax({
    url: "send.aspx?value="   a,
    type: "get"
}).done(function () {
    alert("Send successfully!!");
});
  

Живая демонстрация

Ответ №3:

Попробуйте этот способ

Скрипт является

 $(document).ready(function () {
    $('#ex input:text').each(function(){
       alert(this.value) 
    });
});
  

Пример HTML

 <div id="ex">
    <input type="text" id="one" name="first" value="10">
    <input type="text" id="two" name="first" value="11">
    <input type="text" id="three" name="first" value="12">
</div>
  

ДЕМОНСТРАЦИЯ

Ответ №4:

Чтобы получить значение текстового поля, в соответствии с тем фактом, что они имеют разные идентификаторы, попробуйте следующий фрагмент jQuery:

 $("#ID OF YOUR CHECKBOX").val();
  

Затем, если вы хотите отправить эти значения через AJAX, используйте этот фрагмент:

 $.ajax({
    url: "receiver.php?value=" your_value_here "amp;value2=" anpther_value_here,
}).done(function() {
    alert("data sent");
});
  

Комментарии:

1. Идентификаторы создаются динамически

2. Затем просмотрите их все с помощью $(«input[type =checkbox]»).each()