2016-07-25 175 views
-2

我想通過所有的頁面上,如果選擇輸入迴路選擇的值是沒有一定的選項,然後將該值設置爲選擇的jQuery遍歷選擇和設置選擇的選項

我有一些選擇

<select name="select1"> 
    <option value="1">One</option> 
    <option value="2" selected>Two</option> 
    <option value="3">Three</option> 
    <option value="4">Four</option> 
    <option value="5">Five</option> 
</select> 

<select name="select2"> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
    <option value="4">Four</option> 
    <option value="5">Five</option> 
</select> 

<select name="select3"> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
    <option value="4">Four</option> 
    <option value="5">Five</option> 
</select> 

我循環通過他們像這樣,但我無法弄清楚如何將選中的屬性設置爲,如果它尚未被選中

$('select').each(function() { 

    var selected = $(this).find(":selected"); 

    if (selected.val() != 2) { 
     // do some stuff 

    } 

} 

編輯選項「2」:

我應詳細說明。如果選擇的輸入值被改變,我附加一個字符串,例如'更新'爲輸入值,因爲每個輸入都將發佈到數據庫中。理想情況下我只能這樣做對已經改變了的效率輸入

所以我想將所有選擇不已經有選項2選擇要選擇有「2-更新」的值輸入

感謝所有的答案至今

+2

它沒關係,如果它已被選中 - 只需重新設置,jQuery將爲您處理它。如果你將它們全部設置爲2,那麼你甚至不需要循環,只需要'$('select')。val('2')' –

+1

'$('select')。val('2 ');' –

+0

,或者你可能想要的東西'$(' 選擇:不是(:有(:)選擇) ')VAL(' 2' );' –

回答

1

您可以將所需的選項值傳遞給.val()方法同時配置選擇來選擇所需的選項元素:

$('select').val('2'); 

工作段:

$('select').val('2');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<select name="select1"> 
 
    <option value="1">One</option> 
 
    <option value="2">Two</option> 
 
    <option value="3" selected>Three</option> 
 
    <option value="4">Four</option> 
 
    <option value="5">Five</option> 
 
</select> 
 

 
<select name="select2"> 
 
    <option value="1">One</option> 
 
    <option value="2">Two</option> 
 
    <option value="3">Three</option> 
 
    <option value="4">Four</option> 
 
    <option value="5">Five</option> 
 
</select> 
 

 
<select name="select3"> 
 
    <option value="1">One</option> 
 
    <option value="2">Two</option> 
 
    <option value="3">Three</option> 
 
    <option value="4">Four</option> 
 
    <option value="5">Five</option> 
 
</select>

+0

當我改變一個選擇輸入我追加一個字符串「 - 更新」的價值,有沒有什麼辦法,我可以設置尚未值全部選擇= 2值2和添加此字符串給他們? '函數set_updated(){ 變種inputname = $(本).find( 「:選擇了」)[0]。價值; 如果(!inputname.match(/更新/ I)){ $(本).find( 「:選擇」)。val(inputname +「-updated」); } }' – jdoe

+0

@jdoe:沒有得到你。你能否詳細說明.. –

+0

不用擔心。在這些選擇輸入的表單操作中,我想循環並執行一些操作(Web服務/數據庫調用),這是我在單獨的PHP文件中工作的,但是我只想在輸入已經更新。因此,當一個選擇被改變時,我添加了一個字符串'-updated'作爲選項值,像這樣 - '' – jdoe

0

查找與價值等於2的所有選項,並選擇他們:

$('select').each(function() { 
 
    $(this).find('option[value="2"]').prop('selected', true); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<select name="select1"> 
 
    <option value="1">One</option> 
 
    <option value="2">Two</option> 
 
    <option value="3" selected>Three</option> 
 
    <option value="4">Four</option> 
 
    <option value="5">Five</option> 
 
</select> 
 

 
<select name="select2"> 
 
    <option value="1">One</option> 
 
    <option value="2">Two</option> 
 
    <option value="3">Three</option> 
 
    <option value="4">Four</option> 
 
    <option value="5">Five</option> 
 
</select> 
 

 
<select name="select3"> 
 
    <option value="1">One</option> 
 
    <option value="2">Two</option> 
 
    <option value="3">Three</option> 
 
    <option value="4">Four</option> 
 
    <option value="5">Five</option> 
 
</select>

0

您可以探索這個jQuery對象的value關鍵

$('select').each(function() { 
    var selected = $(this)[0].value; 
    console.log(selected) 
    if (selected != 2) { 
     alert("Not 2") 

    } 
}) 

JSFIDDLE

+1

'$(this)[0] .value;'可以替換爲'this.value' – Rajesh