我有以下内容:
基于用户输入,使用一组<select>
元素填充<option>
元素的函数。相关代码是:
data = $.parseJSON(result);
$.each(data, function (i, item)
{
$('div#step1 select#d-ward').append('<option value="' + item.id + '">' + item.ward + '</option>');
});
基于其他输入,将<option>
中的给定<select>
设置为当前显示值的函数。相关代码:
data = $.parseJSON(result);
$('div#step1 select#d-ward').val(data.dis_ward);
上面的数字2是问题,因为它不会改变当前显示的值。我怀疑这是由于<option>
是动态生成的,因为相同的代码可以在服务器端生成它们。
在运行上述代码之前,我需要添加什么才能确保<select>
完全更新?
答案 0 :(得分:0)
从评论/聊天中得到的澄清结果表明,加载器和setter函数是异步的,但它们是顺序调用的,因此当调用setter时,可能不会调用选项....
您需要确保在加载程序完成加载选项值后调用setter ...您可以使用回调机制来执行此操作。
了解详情:in this answer