Установка значений в s: выберите с помощью jquery ajax - PullRequest
1 голос
/ 04 мая 2011

Я должен сбросить значения на странице с помощью вызова ajax.Для этого я использую Jquery.

Значения должны быть сброшены в списке с множественным выбором.

Если я изменю значение в поле выбора и нажму на сброс, тогда в списке должны быть установлены последние сохраненные значения из БД.

Я пытаюсь описать ниже

            function resetNameDetails() {

                            $.ajax({
                                            type: "POST",
                                            url: 'resetNameDetailsAction.action?,
                                            error: function(data) {
                                                            alert("error");
                                            },
                                            success: function(data) {

                                                            alert("sucess");
                                                            alert(data.userModel.nameList);

                                            }
                            });

            }

Второе успешное предупреждение дает список только объектов.Как я передаю эти данные в элемент управления select.


Обновление

var nameListData = data.userModel.nameList; 
var select = document.getElementById('nameList'); 
alert(select); 
select.options.length = 0; // clear out existing items 
for(var i=0; i < nameListData.length; i++) { 
  var d = nameListData[i]; 
  alert(d); 
  select.options.add(new Option(d, i)) 
} 

показывает мне список, заполненный [Object object]

1 Ответ

0 голосов
/ 04 мая 2011

Предполагая, что data.userModel.nameList является массивом значений, вы можете сделать это:

...
success: function(data) {
   var values = data.userModel.nameList;
   $(":checkbox").each(function(){
      var value = $(this).attr("value");
      if($.inArray(value, values))
          $(this).attr("checked", true);
      else
          $(this).attr("checked", false);
   });    
}
...

EDIT : Это было для списка флажков.Для мульти-выбора сделайте это:

...
    success: function(data) {
       var values = data.userModel.nameList;
       $("#your_select option").each(function(){
          var value = $(this).attr("value");
          if($.inArray(value, values))
              $(this).attr("selected", true);
          else
              $(this).attr("selected", false);
       });    
    }
...

Надеюсь, это поможет.Приветствия

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