这是我的javascript:
$('#Service').val("2");
$("#Service").change(); // Sets new options in subservice.
$('#Subservice').val("5");
//EDIT:
alert($('#Subservice').length); // Returns 1, when there are far more in it.
服务和子服务是下拉框。
在服务更改时,将填充新的子服务列表。
这是设置要编辑的记录的字段。单击编辑按钮时执行。 它设置服务下拉框,然后填充子服务下拉框,然后尝试为其设置正确的下拉选择。
但是,它未正确设置子服务框。选项是正确的,因此.change()
正在运行,服务设置正确。但是,未设置子服务。并且有一个值为5的条目。
我唯一的理由是.change正在触发,但在完成之前继续设置.val。所以在设置时没有选项。但是,我不明白为什么它也会穿线。所以我不确定发生了什么或如何解决它。
答案 0 :(得分:1)
您是否已将代码置于就绪功能中?
$(function () {
$('#Service').val("2");
$("#Service").change(); // Sets new options in subservice.
$('#Subservice').val("5");
});
在执行函数中的代码之前,这将等待整个DOM准备就绪,使#service可用。
答案 1 :(得分:0)
将代码中的最后一行更改为
setTimeout(function(){
$('#Subservice').val("5");
}, 10);