2017-06-19 93 views
0

我有一個下拉列表,我需要使用該值來獲取整個對象。我可以使用帶有包含的文本來獲取它,但相同的值不起作用。這是我的代碼。我究竟做錯了什麼?使用值來獲取所選下拉選項的對象

//var option = $("#car option:contains('Volvo')"); 
 
//alert(option.attr('value')); 
 

 
var option = $("#car option:contains('value1')"); 
 
alert(option.attr('value'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<select id="car"> 
 
    <option value="value1">Volvo</option> 
 
    <option value="value2">Saab</option> 
 
    <option value="value3">Mercedes</option> 
 
    <option value="value4">Audi</option> 
 
</select>

註釋的部分工作正常。我需要找到一種方法來使用該值來獲取整個對象。

+0

只需用變量'option' – Saksham

+0

'VAR選項= $( 「#汽車選項[值= '值1']」); ' –

+0

@Saksham該選項不工作,所以我的問題。 – Testing123

回答

1

雖然:contains選擇器選擇包含指定的文本元素。您可以使用[attribute = "value"]。我強烈建議閱讀有關Selectors Here

//var option = $("#car option:contains('Volvo')"); 
 
//alert(option.attr('value')); 
 

 
var option = $("#car option[value='value1']"); 
 
alert(option.attr('value'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<select id="car"> 
 
    <option value="value1">Volvo</option> 
 
    <option value="value2">Saab</option> 
 
    <option value="value3">Mercedes</option> 
 
    <option value="value4">Audi</option> 
 
</select>

0
var e = document.getElementById("car"); 
var selectedOption = e.options[e.selectedIndex].value; 
alert(selectedOption); 

首先,你的目標選擇列表元素具有可變e,然後使用該元素的狀態,並將其分配給selectedOption

+0

我在下面得到了我的答案,但你的代碼有這個錯誤selectedOption.attr不是一個函數 – Testing123

+0

lol woops,是的,它應該只是警惕(selectedOption); – Aquaballin

+0

儘管此代碼可能會回答問題,但提供有關如何解決問題和/或解決問題原因的其他上下文會提高答案的長期價值。 – Badacadabra

1

//var option = $("#car option:contains('Volvo')"); 
 
//alert(option.attr('value')); 
 

 
var option = $("#car option[value=value1]"); 
 
alert(option.attr('value'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="car"> 
 
    <option value="value1">Volvo</option> 
 
    <option value="value2">Saab</option> 
 
    <option value="value3">Mercedes</option> 
 
    <option value="value4">Audi</option> 
 
</select>

1

的問題是,jQuery的:包含僅指元素,而不是屬性的內容的文本節點。

您可以通過以下方式使用屬性的選擇:

var option = $("#car option[value=value1]"); 
alert(option.attr('value')); 
相關問題