未选中后重置组合框

时间:2012-02-16 05:23:45

标签: javascript jquery html

我希望在父组合禁用后重置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>

3 个答案:

答案 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('_'); /// <=====
}