#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