$('#select')。val()返回UNDEFINED

时间:2012-08-14 07:13:58

标签: javascript jquery

我写了一些jQuery代码,这是它的一部分。这总是返回 UNDEFINED 。为什么呢?

<html>
<head>
<script src="theme/js/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function() {
   $("#my").click(function() {
        alert($("#adults").val());
    });
 }); 

</script>
</head>
<body>

<form>
<a href="#" id="my">click</a>
<select class="text" id="currency" id="adults">
    <option value="1"  selected="selected">1</option>
    <option value="2" >2</option>
    <option value="3" >3</option>
    <option value="4" >4</option>
</select>
</form>
</body>
</html>

这用于了解有多少成年人。没有它就无法运行。

6 个答案:

答案 0 :(得分:9)

您不能在一个节点上使用 id 属性两次(实际上,id值在一个html页面中应该是唯一的)。在您的情况下,使用货币成人

如果你摆脱了额外的id="currency",jQuery将使用表达式$("#adults").val()返回正确的值。

答案 1 :(得分:2)

您为select元素提供了两个id属性。删除一个它应该完美。

<select class="text" id="currency" id="adults">

变为

<select class="text" id="adults">

id属性应始终是唯一的。如果您想为多个元素提供相同的“标识符”,以便您可以检索一组元素,那么您应该为其指定class属性。

当您提供两个id属性时,代码不知道使用哪个属性,这可能会导致不可预测的结果。

答案 2 :(得分:1)

您已为元素分配了两个ID。请删除第一个作为ID must be unique

答案 3 :(得分:0)

嘿,你不能同时使用两个ID,id="currency"id="adults" ...删除id="currency",你就完成了:)

答案 4 :(得分:0)

select标签中有两个id,所以第二个不起作用。

<select class="text" id="currency" id="adults">

答案 5 :(得分:0)

您的选择有2个ID。你不能这样做。您可以向对象添加多个类,或者对多个对象使用相同的类,但每个对象只能使用一个ID,每个ID只能使用一个对象。

<select class="text" id="currency" id="adults">