как загрузить ответ массива из ajax в текстовое поле ввода массива

#php #jquery #arrays #ajax

#php #jquery #массивы #ajax

Вопрос:

Мы отправляем данные через вызов Ajax и получаем ответ в виде массива. мы хотим зациклить этот массив и загрузить в поле ввода массива. но данные не загружаются во входные данные.

  <input type="hidden" name="loadchild[]" id="loadchild[]" >
  

это текстовое поле находится в цикле

 $.ajax({
    type: "POST",
    url: "asign.php",
    data: {plan_id: plan_id},
    dataType: "json",
    success: function (dta)
    {
        /*
         here  dta['insert_id'] is single value and 
         dta['child_ids'] are multiple values and i am getting as [1,2,3,4,5]     */

        for (var i = 0; i < dta['child_ids'].length; i  )
        {
            $("#loadchild["   i   "]").val(dta['child_ids'][i]);
        }
    }
});
  

здесь я получаю as [object Объект] при присвоении значения текстовому полю

Пожалуйста, дайте мне знать, как передавать значения массива одно за другим в

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

1. Через PHP вы не можете отправить массив, либо вы должны использовать json_encode, либо сериализовать этот массив, затем отправить в AJAX и использовать jQuery

2. $("#loadchild[" i "]") Это недопустимый селектор jQuery, используйте .eq(i) вместо

3. Кроме того, вы можете установить идентификатор примерно так: loadchild[]

4. @Sunil Pachlangia OP не отправляет массив на сервер, он отправляет другой идентификатор, затем хочет вернуть массив и вывести их в виде набора входных данных

5. $("#loadchild[]").eq(i).val(dta['child_ids'][i]); это допустимо ..?

Ответ №1:

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

1) вы должны экранировать скобки следующим образом

 for(var i=0;i<dta['child_ids'].length;i  )
  {
   //$("#loadchild[" i "]").val(dta['child_ids'][i]);

   $("#loadchild\[\]").eq(i).val(dta['child_ids'][i]);

  }
  

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

1. рад вам помочь @venkyrao