2

我写了一些 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>

这用于获取有多少成年人。没有它就跑不了。

4

6 回答 6

9

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

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

于 2012-08-14T07:15:30.653 回答
2

你给了你的选择元素两个id属性。删除一个,它应该可以正常工作。

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

变成

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

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

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

于 2012-08-14T07:15:38.607 回答
1

您已为元素分配了两个 ID。请删除第一个,因为 ID必须是唯一的

于 2012-08-14T07:16:42.240 回答
0

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

<select class="text" id="currency" id="adults">
于 2012-08-14T07:29:39.040 回答
0

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

于 2012-08-14T07:17:09.577 回答
0

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

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

于 2012-08-14T07:17:26.017 回答