как использовать данные JSON - PullRequest
0 голосов
/ 28 декабря 2011

У меня есть вызов ajax, который возвращает мне данные.

Скажите, у меня есть данные, возвращаемые ajax

$.ajax({
            url : "quoteSearch",
            dataType : "json",
            data : $("#searchCriteria").serialize(),
            success : function(data) {
                populateTable(data);

            },
            error : function(data) {
                console.log(data);
            }
        });

Теперь я хочу использовать эти данные таблицы для обновления пользовательского интерфейса.

Скажите, если я добавлю 10 в поле ввода. и нажмите кнопку «Перейти», это должно добавить 10 ко всем кавычкам столбца.

Как мне это сделать.

Ответы [ 2 ]

0 голосов
/ 28 декабря 2011

Вы, кажется, спрашиваете, как использовать data, возвращаемый вызовом ajax из другой части вашего кода в не определенное время, в зависимости от того, когда пользователь нажимает кнопку. Если это так, вы можете сохранить data в переменной с областью, выходящей за пределы вызова ajax, а затем получить к ней доступ из других частей вашего кода:

var ajaxData;

$.ajax({
   url : "quoteSearch",
   dataType : "json",
   data : $("#searchCriteria").serialize(),
   success : function(data) {
      ajaxData = data;
      populateTable(data);
   },
   error : function(data) {
      console.log(data);
   }
});

$("#yourbutton").click(function(){
   // do something with ajaxData
   if (typeof ajaxData != "undefined") {
      var valueToAdd = $("#yourinput").val();
      // your processing here
   }
});

Неопределенный тест позволяет разрешить, если вы нажмете кнопку до того, как вызов ajax завершится, и в этот момент ajaxData (очевидно) еще не будет иметь значения.

Возможно, вы захотите обновить функцию populateTable(), чтобы она добавляла параметр со значением для добавления. Затем в вашем успехе ajax вы устанавливаете этот параметр на 0, но в вашем обработчике щелчков кнопок вы устанавливаете этот параметр на значение вашего ввода. Предположительно ваша функция populateTable() уже знает, как извлечь значения из data, так что вы можете сделать дополнительное добавление в этой функции. Я действительно не могу посоветовать что-то более конкретное, не увидев остальную часть вашего кода.

0 голосов
/ 28 декабря 2011

внутри вашей функции populateTable, вы должны использовать $.each(data,function(k,v){ ... }) для циклического перебора данных и использования значений.Не видя, что находится внутри data или HTML-кода, которым вы пытаетесь манипулировать, или функции populateTable, трудно ответить более конкретно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...