在html页面中,当我们从第一个jquery工作中找到somthing并显示下一个下拉列表的更多选项时,我们有2个dropdon列表,这是一个HTML代码:
<select name="cat_level1" id="cat_level1" size="1" class="form-control input-inline">
<option value="0">1</option>
<option value="8">2</option>
<option value="6">3</option>
</select>
<select name="cat_level2" id="cat_level2" size="1" class="form-control input-inline">
<option value="0">-</option>
</select>
<script>
$("#cat_level2").chained("#cat_level1");
</script>
现在我尝试使用javascript从我的win应用程序中以编程方式选择dropdownlist选项,我使用此代码进行选择:
var len = element.options.length;
for (int i = 0; i < len; i++)
{
if (element.options[i].value == selected_val)
{
element.options[i].selected = true;
break; ;
}
}
多数民众赞成有效,但是代码jquery不起作用,我们在secend下拉列表中没有任何选项。 如何在select之后选择运行jquery的选项?
答案 0 :(得分:0)
你为什么不尝试这个?
$('yourSelect').find('option[value='+selected_val+']').attr('selected', true);
编辑:没有jQuery
var len = element.options.length;
for (int i = 0; i < len; i++)
{
if (element.options[i].value == selected_val)
{
//element.options[i].selected = true;
element.options[i].setAttribute('value',true);
break;
}
}
答案 1 :(得分:0)
当通过代码选择该选项时,不会触发事件,这可能是第二次选择未更新的原因。
int
使用var
会导致错误。使用element.dispatchEvent
通过代码进行火灾更改事件。
var len = element.options.length;
for (var i = 0; i < len; i++)
{
if (element.options[i].value == selected_val)
{
element.options[i].selected = true;
var event = new Event('change');
element.dispatchEvent(event);
break; ;
}
}
您还需要从更改事件处理程序调用链式函数。
$("#cat_level1").on("change", function(){
$("#cat_level2").chained("#cat_level1");
});