2013-05-02 326 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();