2013-05-02 152 views
0

我有一個情況下,我必須選擇這樣的下拉值選擇值選擇元素witht jQuery的

$(this).parent().parent('div').find('option:selected').val(); 

後來我意識到,我需要把第二DDL出現在同一個DIV,所以現在我變得混淆瞭如何獲取每個DDL的值。有沒有一種方法來申請此代碼的ID

$(this).parent().parent('div').find('option:selected').val(); 

這樣我就可以獲取每個。

以下是我的代碼 這是第一個ddl。

<select style="width:30px" name="ddlQty" id="ddlQty" class="positive-integer"><option value="0">0</option> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
<option value="6">6</option> 
<option value="7">7</option> 
<option value="8">8</option> 
<option value="9">9</option> 
</select> 

,這是第二

<select name="OptionID" id="OptionID"><option value="14">5'' £25.00</option> 
</select> 

如何可以選擇每個該值?

+0

這是什麼'this'的上下文? – smerny 2013-05-02 12:41:20

回答

1

對於最前一頁之一:

$(this).parent().parent('div').find('#ddlQty option:selected').val(); 

,第二個:

$(this).parent().parent('div').find('#OptionID option:selected').val(); 
+0

如果他使用的是ID,則不需要遍歷DOM ... ID應該是唯一的 – gustavohenke 2013-05-02 12:37:52

+0

@gustavohenke,OP可能需要將它與「this」關聯起來(如果它是事件) – smerny 2013-05-02 12:39:37

+0

但在我的dom有2個DDL有相同的ID這是你必須這樣做的多個div。 – NoviceToDotNet 2013-05-02 12:43:29

5

如果ID是唯一,因爲它應該

$('#ddlQty').val(); 

$('#OptionID').val(); 
+0

好吧,除了它看起來OP是想要得到它''這個' – smerny 2013-05-02 12:38:29

+2

它的ID,應該是唯一的,不需要用'this'引用它 – 2013-05-02 12:39:45

+1

我的意思是他不應該通過身份證得到它。如果他的js在一個事件函數內,他可能希望得到一個關於任何對象觸發事件的選擇。爲什麼他會使用'this'? – smerny 2013-05-02 13:02:52

2
$('#ddlQty').val(); 
$('#OptionID').val(); 

會得到每個選擇菜單的值。

1

ID應該是唯一的,所以你不應該需要$(this).parent().parent('div')部分。下面應該工作

$('#ddlQty').val(); 
$('#OptionID').val();