【发布时间】:2017-10-29 02:26:04
【问题描述】:
成功加载下拉列表后,我正在尝试在下拉列表中设置所选值。
在设置选定值之后,我正在通过 ajax 或 jQuery 加载下拉列表值,但有时它工作正常,有时它不会设置选定值,因为加载下拉列表的延迟。我也试过 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");
}
我想在加载下拉列表后设置选定的值...
谢谢
【问题讨论】:
-
您需要在 AJAX 调用的
success回调函数中进行默认选择。这是确保数据已加载的唯一方法,否则您就是在掷骰子(充其量)。 -
我已经在成功块中使用了上面的代码
-
if 语句的目的是什么,为什么
$("#ddlToUnit").length不总是1? -
在 if 语句中我正在检查下拉列表长度是否等于 0 或者它没有绑定任何值。我错误地写了大于号而不是等于
-
为此目的计算列表,您可能希望使用
$("#ddlToUnit option"),但当然必须有比任意等待更好的方法。所以我想我的问题是,如果它在回调函数中,这个列表怎么可能是空的?我需要查看更多代码。您是单独异步填充列表吗?
标签: javascript jquery ajax drop-down-menu selected