в данный момент у меня через форму, в которой есть больше 200 полей, при ищменении одного конкретного поля (num_contr) отправляется цифра (переменная) в ajax_all.php для запроса в базу, после чего выводится результат запроса (тоже одно значение, не массив) в ДРУГОЕ (pr1) поле формы.Но а мне нужно чтобы при изменении num_contr, после результата выполнения ajax_all.php которым будет массив даных
$data = array( 'pdrpvt' => $row['pdrpvt'], 'rzrpvt' => $row['rzrpvt'], 'drpvt' => $row['drpvt'], 'ppvt' => $row['ppvt'], 'dkt' => $row['dkt'] каждое значение которого будет выводиться в разные поля той же формы. |
т.е. если сейчас при выполнении
$(document).ready(function() { $('input[type=text]:text').change(function (){ $.post("ajax_all.php", { "num_contr" : $('input[type=text]').val()}, function(data){ var details = $("#pr1").val(data); }); }); }); результат выводится в одно поле формы с id pr1, то как вывести результат массива в разные поля той же формы? |
Если сервер возвращает $data как JSON, то так:
$('input[type=text]:text').change(function (){ var f = $(this).closest('form'); //предполагается, что форма уже на странице и источник запроса принадлежит ей $.post("ajax_all.php", { "num_contr" : this.value}, function(data){ $.each(data, function(k, v) { f.append('<input name="'+k+'" value="'+v+'">') }) }, 'json'); }); |
$(document).ready(function() {
.. сначало не нужно ? |
Нужно конечно, просто я только основное написал, и так форум глючит, и чем больше кода вставляется тем больше глюков.
PS. То-есть, думаю сами поймете как вставить не просто поле формы, но и поместить его в ячейку таблицы. |
ага, а в ajax_all.php :
$js_obj = json_encode($arr); print $js_obj; ?, где $arr - массив? приавильно ? |
Ну можно и проще:
exit(json_encode($arr)); зачем посредники, которые не нужны. |
Можно и проще, без не нужных посредников - echo json_encode($arr);
И вообще без формирования промежуточного массива $data, так как судя по коду это лишняя операция. То есть сразу echo json_encode(mysql_fetch_assoc($result)); |
Кошмарит форум по полной.
|
да, выполняеться. но куда выводит, не пойму - name="'+k+'" value="'+v+'
|
Часовой пояс GMT +3, время: 15:21. |