2016-06-20 237 views
1

特定的選擇我有一個窗體有多個選項,動態預先填充選項。jQuery選擇具有「選擇」在選項

我想突出顯示(更改背景顏色)選擇列表中的選擇「選擇」的選擇。

形式:

<form name="MyForm" method="POST" action="/myaction"> 
    <select> 
     <option value="--">--</option> 
     <option value="1">111</option> 
     <option value="2" selected>222</option> 
     <option value="3">333</option> 
    </select> 

    <select> 
     <option value="--">--</option> 
     <option value="1">A1</option> 
     <option value="2">B2</option> 
     <option value="3">C3</option> 
    </select> 

    <select> 
     <option value="--">--</option> 
     <option value="A" selected>AAA</option> 
     <option value="B">BBB</option> 
     <option value="C">CCC</option> 
    </select> 
</form> 

我目前的jQuery突出顯示所有的選擇,不僅已「選擇」選項中的那些的。在上面的例子中,只有第一個和最後一個選擇應該已經被高亮...

$('#MyForm').find('select > option:selected').parent().css('background-color', 'rgba(216,255,1,0.15)'); 

有關如何解決它的任何想法?

回答

3

樣子您正在尋找的屬性selected

$('[name=MyForm] [selected]').parent().css('background-color', 'rgba(216,255,1,0.15)');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form name="MyForm" method="POST" action="/myaction"> 
 
    <select> 
 
     <option value="--">--</option> 
 
     <option value="1">111</option> 
 
     <option value="2" selected>222</option> 
 
     <option value="3">333</option> 
 
    </select> 
 

 
    <select> 
 
     <option value="--">--</option> 
 
     <option value="1">A1</option> 
 
     <option value="2">B2</option> 
 
     <option value="3">C3</option> 
 
    </select> 
 

 
    <select> 
 
     <option value="--">--</option> 
 
     <option value="A" selected>AAA</option> 
 
     <option value="B">BBB</option> 
 
     <option value="C">CCC</option> 
 
    </select> 
 
</form>

1

您正在使用表單元素與name="MyForm"但在jQuery中使用 'MyForm的' 作爲ID選擇$('#MyForm'). Either assign ID = 「MyForm的」`你的表單標籤,或者使用下面的jQuery

$('[name="MyForm"]').find('select > option:selected').parent().css('background-color', 'rgba(216,255,1,0.15)'); 
0
var selectedItems= $('[name="MyForm"]').find('select > option:selected');  
selectedItems.each(function(obj,ind){  
    $(obj).parent().css('background-color', 'rgba(216,255,1,0.15)'); 
}); 
1

這很簡單。 將option:selected替換爲option[selected],並將屬性id="MyForm"添加到表單中。

你可以在這個fiddle看到代碼。