2012-02-16 73 views
1

我想在父組合框禁用後重置子組合框。當我在父組合框中選擇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

使用$('#childcombo').val("_")選擇兒童組合框中"please select"選項。

如果你想選擇select元素任何選項一起使用val()法和期權value傳遞給它,它就會選擇option

在你的情況,因爲你要選擇兒童組合框中選擇"please select"我們使用它的值"_"傳遞給val()方法。

使用純javascript的替代方法是設置select元素的selectedIndex屬性。

$('#childcombo')[0].selectedIndex = 0;//option index to set selected 
+0

媽的,由30秒:)打我 – 2012-02-16 05:28:05

+0

對不起對不起它的工作:) – Tom 2012-02-16 05:40:44

1
$("#childcombo").val("_"); 

應該做的伎倆

1
else 
{ 
    $("#childcombo").removeAttr ("disabled");  
    $("#childcombo").val('_'); /// <===== 
}