在jQuery中加载下拉列表后设置下拉选择值

时间:2017-10-28 17:49:59

标签: javascript jquery ajax drop-down-menu selected

我正在尝试在下拉列表成功加载时在下拉列表中设置选定的值。

我在设置选定值之后通过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");
}

我想在加载下拉列表后设置选定的值...

由于

1 个答案:

答案 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>