动态填充选择在firebug中显示旧选项,但在页面上显示正确的选项

时间:2013-11-14 21:02:33

标签: jquery zurb-foundation

我有一个用户数据输入页面,其中包含动态依赖选择行的部分。直到我尝试根据我刚刚包含在页面中的令人愉快的select2自动选择用户的选项时,我才知道有什么不对。依赖选择'正确的选项显示在页面上,但是当我尝试在JQuery中使用它们时,只有旧的选项存在。神秘。我正在使用Foundation 4,因此它增加了一些复杂性。这是一个很好用的小提琴,但我的页面仍然破碎:http://jsfiddle.net/jenborn/24Kpv/2/

页面加载时,以下是相关选项:

<div class="small-3 columns">
   <select id="fer1_1" class="medium">
   <? echo $fer1_opt ?>
   </select>
</div>
<div class="small-3 columns">
   <select id="fer2_1" name="fer2_1" class="medium">
   <option>None selected</option>
   </select>
</div>

以下是更改fer1_1时调用的函数:

function populateDep(){
     id_in_str = $(this).attr('id');
     var ctrl = id_in_str.slice(0,3); // the second param is POSITION not LENGTH!
     var this_select = parseInt(id_in_str.slice(3,4), 10); // the second param is POSITION not LENGTH!
     var row = id_in_str.slice(5);

    $.getJSON("/cat_dropdowns.php",{parent_id: $(this).val(), required: '1', ajax: 'true'}, function(j){
      var options = '';
      for (var i = 0; i < j.length; i++) {
        options += '<option value="' + j[i].value + '">' + j[i].text + '</option>';
      }

    var next_select = ++this_select;
      $("select#" + ctrl + next_select + "_" + row).html(options);
      Foundation.libs.forms.refresh_custom_select($('#' + ctrl + next_select + "_"  + row), true);
      Foundation.libs.forms.assemble();
    });
}

在尝试设置fer2_1的值之前,此代码显示它看到旧的选项:

 $("#" + prefix + "2_" + num + " > option").each(function() {
     console.log(this.text + ' ' + this.value);
 });

我在firebug中看到了这一点:没有选择

当我尝试自动选择fer2_1的值时,我正在使用此行(我成功用于fer1_1):

$("select#" + prefix + "2_" + num).val(smart_cat_data['cat_lvl3_id']);

0 个答案:

没有答案