我希望在父组合禁用后重置childcombo框。当我在父组合框中选择select option
时,子组合框被禁用。在填充子组合框后,如果我在父组合中选择select
选项,则子组合将被禁用,但此时如何重置子组合的子组合也将显示please select
选项?我需要在javascript中添加什么?
<script type="text/javascript">
$(document).ready(function() {
$(function(){
var arrVal = ["RS", "MN", "KL"];
$("#parentcombo").change(function(){
var valToCheck = String($(this).val());
if ( jQuery.inArray(valToCheck,arrVal) == -1 )
{
$("#childcombo").attr("disabled", "true");
}
else
{
$("#childcombo").removeAttr ( "disabled" );
}
});
});
});
</script>
HTML
<select id="parentcombo">
<option value="_">select</option>
<option value="RS">RS</option>
<option value="MN">MN</option>
<option value="KL">KL</option>
</select>
<select id="childcombo" disabled="true">
<option value="_">please select</option>
<option value="somevalue">somevalue</option>
<option value="somevalue1">somevalue1</option>
<option value="somevalue2">somevalue2</option>
</select>
答案 0 :(得分:3)
使用$('#childcombo').val("_")
在子组合框中选择"please select"
选项。
如果您想在select
元素中使用val()
方法选择任何选项并将选项value
传递给它,则会选择option
。
在您的情况下,由于您要在子组合框中选择"please select"
选项,我们使用其值"_"
传递给val()
方法。
使用纯javascript的替代方法是设置select元素的selectedIndex
属性。
$('#childcombo')[0].selectedIndex = 0;//option index to set selected
答案 1 :(得分:1)
$("#childcombo").val("_");
应该做的伎俩
答案 2 :(得分:1)
else
{
$("#childcombo").removeAttr ( "disabled" );
$("#childcombo").val('_'); /// <=====
}