2015-11-09 101 views
0

我在我的HTML標記中有2 <select>列表。其中一個可以通過網頁訪問,第二個隱藏。它們都相互關聯。我想獲取#list2的值,而不是selectedIndex ID。如何獲得jQuery中「related」selectedIndex的值

1日列表在Web窗體可見:

<select id="list1" name="name" class="form-control"> 
    <option value=""></option> 
    <option value="004">Alpha</option> 
    <option value="001">Beta</option> 
    <option value="006">Delta</option> 
    <option value="020">Omega</option> 
</select> 

第二列表隱藏在Web表單:

<select id="list2" name="amount" class="form-control" style="display:none"> 
    <option value=""></option> 
    <option value="004">1.00</option> 
    <option value="001">2.00</option> 
    <option value="006">3.00</option> 
    <option value="020">4.00</option> 
</select> 

例: 當選擇爲 「三角洲」 下拉列表項目我想在我的jQuery函數中使用值「3.00」。

+0

這將是很多if語句。 –

+0

我試過谷歌搜索,沒有拿出東西,似乎是接近@ j08691 –

+0

好吧,所以它不能以任何方式相關@SterlingArcher –

回答

2

http://jsfiddle.net/9uprxkmk/1/

$('#list1').on('change', function(){ 
    alert($('#list2 option[value="'+$(this).find(":selected").val()+'"]').html()); 
}); 
+0

這看起來完全像我所希望的。謝謝@caramba - 讓我在我的應用程序中嘗試它。 –

+0

完美!謝謝@caramba。我會在2分鐘內接受這個答案,當我讓我回到 –

+0

@ H.Ferrence時,歡迎您的光臨,我很樂意幫助您!玩得開心編碼 – caramba

1

$(function(){ 
 
    //cache the list 
 
    var $list1 = $('#list1'); 
 
    //cache the other list options 
 
    var $list2Options = $('#list2 option'); 
 
    
 
    $list1.on('change', function(){ 
 
     //filter on the value and get the second value 
 
     console.log($list2Options.filter('[value="'+ this.value +'"]').text()); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<select id="list1" name="name" class="form-control"> 
 
    <option value=""></option> 
 
    <option value="004">Alpha</option> 
 
    <option value="001">Beta</option> 
 
    <option value="006">Delta</option> 
 
    <option value="020">Omega</option> 
 
</select> 
 

 
<select id="list2" name="amount" class="form-control" style="display:none"> 
 
    <option value=""></option> 
 
    <option value="004">1.00</option> 
 
    <option value="001">2.00</option> 
 
    <option value="006">3.00</option> 
 
    <option value="020">4.00</option> 
 
</select>

+0

好的,謝謝@Taplar。它返回selectedIndex但不包含'#list2'的值 –

+0

已修復。訪問文本()而不是val() – Taplar

+0

謝謝@Taplar。我試過(在)caramba的答案,它的工作,它更簡潔一點.. –

0

你可以使用以下的選擇:

$("#list1 option:selected").html(); 

這應該抓住的無論是在口之間和關閉選項標籤選擇的元素d。

+0

或者你可以使用.text()函數 – dill