JQUery:在动态生成的选项列表中选择一个值

时间:2013-12-08 00:37:43

标签: jquery

我有以下内容:

  1. 基于用户输入,使用一组<select>元素填充<option>元素的函数。相关代码是:

    data = $.parseJSON(result);
    $.each(data, function (i, item)
    {
        $('div#step1 select#d-ward').append('<option value="' + item.id + '">' + item.ward + '</option>');
    });
    
  2. 基于其他输入,将<option>中的给定<select>设置为当前显示值的函数。相关代码:

    data = $.parseJSON(result);
    $('div#step1 select#d-ward').val(data.dis_ward);
    
  3. 上面的数字2是问题,因为它不会改变当前显示的值。我怀疑这是由于<option>是动态生成的,因为相同的代码可以在服务器端生成它们。

    在运行上述代码之前,我需要添加什么才能确保<select>完全更新?

1 个答案:

答案 0 :(得分:0)

从评论/聊天中得到的澄清结果表明,加载器和setter函数是异步的,但它们是顺序调用的,因此当调用setter时,可能不会调用选项....

您需要确保在加载程序完成加载选项值后调用setter ...您可以使用回调机制来执行此操作。

了解详情:in this answer