Функция обратного вызова JQuery ajax - PullRequest
0 голосов
/ 10 января 2010

Я очень новичок в JQuery, и я пытаюсь заполнить свои html-поля выбора Jquery, но они остаются пустыми. Ниже мой код:

   $('select').each(function(){
      var action = 'SELECT_FLDS_GRID';
      var fldnam = $(this).attr('name');
      $.getJSON('frm.grid.php',{'action':action,'fldnam':fldnam},function(j){
         var_SelectOption(j,fldnam);
      });
   });
   function var_SelectOption(j,myfld)
   {
      var options = '';
      for(var i=0;i<j.length;i++)
      {
         options += '<option value="' + j[i].option + '">' + j[i].option + '</option>';
      }
      $('select').each(function(){
         if($(this).attr('name') == myfld) {$(this).html(options);}
      });
   } 

Для пояснения, если я изменю var_SelectOption приведенным ниже кодом, я получу результат:

   function var_SelectOption(j,myfld)
   {
      var options = '';
      for(var i=0;i<j.length;i++)
      {
         options += '<option value="' + j[i].option + '">' + j[i].option + '</option>';
      }
      $('select').html(options);
   } 

Однако это, конечно, не намерение, поскольку это просто помещает один и тот же список опций в каждое поле выбора. Так что это просто, чтобы показать, где проблема; строки optionlist должны быть привязаны к соответствующему элементу select.

Я играл с ним довольно долго, но не могу найти проблему. Мне даже интересно, если я делаю это совершенно неправильно ... Надеюсь, кто-нибудь может помочь мне здесь.

С уважением, Patrick

1 Ответ

2 голосов
/ 10 января 2010

Попробуйте $('select[name="'+myfld+'"]').html(options);

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