我正在尝试在下拉列表成功加载时在下拉列表中设置选定的值。
我在设置选定值之后通过ajax或jQuery加载下拉列表vaues但有时它工作正常并且有时它不会设置选择值因为加载下拉延迟。我也尝试过setTimeout,如下所示,但它无法正常工作:
if($("#ddlToUnit").length>0)
{
setTimeout($("#ddlToUnit option[value='"+data.Records.GxMovement.ToUnit_v+"']").attr("selected","selected"),1000);
}
else
{
$("#ddlToUnit option[value='"+data.Records.GxMovement.ToUnit_v+"']").attr("selected","selected");
}
我想在加载下拉列表后设置选定的值...
由于
答案 0 :(得分:0)
这是一种可以使用setInterval
继续检查元素是否已填充的方法。第一个setTimeout
函数只是模拟3秒钟向列表添加选项。
setTimeout(function() {
var newOption = document.createElement('option');
newOption.innerHTML = 'Option Text';
document.getElementById('list').appendChild(newOption);
}, 3000);
// Do something only after list is populated
var interval = setInterval(function() {
if (document.querySelectorAll('#list option').length > 0) {
console.log('List is definitely populated!');
clearInterval(interval);
}
}, 200);
<select id="list">
</select>