Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 28.03.2017, 22:06
Аспирант
Отправить личное сообщение для dasser Посмотреть профиль Найти все сообщения от dasser
 
Регистрация: 17.06.2014
Сообщений: 56

в данный момент у меня через форму, в которой есть больше 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']

каждое значение которого будет выводиться в разные поля той же формы.
Ответить с цитированием
  #22 (permalink)  
Старый 28.03.2017, 22:11
Аспирант
Отправить личное сообщение для dasser Посмотреть профиль Найти все сообщения от dasser
 
Регистрация: 17.06.2014
Сообщений: 56

т.е. если сейчас при выполнении
$(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, то как вывести результат массива в разные поля той же формы?
Ответить с цитированием
  #23 (permalink)  
Старый 28.03.2017, 22:26
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Если сервер возвращает $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');
});

Последний раз редактировалось laimas, 28.03.2017 в 22:31.
Ответить с цитированием
  #24 (permalink)  
Старый 28.03.2017, 22:33
Аспирант
Отправить личное сообщение для dasser Посмотреть профиль Найти все сообщения от dasser
 
Регистрация: 17.06.2014
Сообщений: 56

$(document).ready(function() {
.. сначало не нужно ?
Ответить с цитированием
  #25 (permalink)  
Старый 28.03.2017, 22:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Нужно конечно, просто я только основное написал, и так форум глючит, и чем больше кода вставляется тем больше глюков.

PS. То-есть, думаю сами поймете как вставить не просто поле формы, но и поместить его в ячейку таблицы.

Последний раз редактировалось laimas, 28.03.2017 в 22:40.
Ответить с цитированием
  #26 (permalink)  
Старый 28.03.2017, 22:40
Аспирант
Отправить личное сообщение для dasser Посмотреть профиль Найти все сообщения от dasser
 
Регистрация: 17.06.2014
Сообщений: 56

ага, а в ajax_all.php :
$js_obj = json_encode($arr);
print $js_obj;

?, где $arr - массив? приавильно ?
Ответить с цитированием
  #27 (permalink)  
Старый 28.03.2017, 22:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Ну можно и проще:

exit(json_encode($arr));


зачем посредники, которые не нужны.
Ответить с цитированием
  #28 (permalink)  
Старый 28.03.2017, 22:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Можно и проще, без не нужных посредников - echo json_encode($arr);
И вообще без формирования промежуточного массива $data, так как судя по коду это лишняя операция. То есть сразу echo json_encode(mysql_fetch_assoc($result));
Ответить с цитированием
  #29 (permalink)  
Старый 28.03.2017, 22:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Кошмарит форум по полной.
Ответить с цитированием
  #30 (permalink)  
Старый 28.03.2017, 22:52
Аспирант
Отправить личное сообщение для dasser Посмотреть профиль Найти все сообщения от dasser
 
Регистрация: 17.06.2014
Сообщений: 56

да, выполняеться. но куда выводит, не пойму - name="'+k+'" value="'+v+'
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передача переменных Лесной_Белк Общие вопросы Javascript 11 09.08.2018 16:06
Передача массива из php в гистограмму js Sling AJAX и COMET 9 09.02.2016 16:15
Передача массива из JS в PHP biohan AJAX и COMET 4 15.11.2012 18:24
Значение переменных из JavaScript в PHP pr43unknown Общие вопросы Javascript 3 18.01.2012 18:37
PHP, JavaScript, MySQL solomusic Серверные языки и технологии 14 18.12.2008 14:05