【发布时间】:2014-11-10 21:41:51
【问题描述】:
我正在使用 MVC4、C#、Razor 引擎和 jQuery 制作一个小项目。在我的代码中,我有一个下拉列表,每次在该下拉列表中选择一个项目时,我都想发送一个 Ajax 请求,其中包含所选信息以及 HTML 中的订单 ID:
<input type="hidden" id="materialRequestId" value=@myId />
为了实现这一点,当用户在我的下拉列表中选择一个项目时,我尝试使用其 id 获取closest/sibling/find HTML 标记,但我失败了,因为$(this) 似乎只有一个 @987654324 类@ 因此每次我使用之前的 jQuery 函数之一时,我都会得到未定义的结果。
$('#OfficeId').change(function () {
alert($(this).closest("div").siblings("#materialRequestId").value;);
});
这是我的 HTML:
<td>
<input type="hidden" id="materialRequestId" value=4 />
<div class="hide officeList">
<select id="OfficeId" name="OfficeId">
<option value="18">AMAALB</option>
<option value="19">AMABGR</option>
<option value="20">AMACRO</option>
</select>
</div>
</td>
我在这里缺少什么?为什么这不起作用?
【问题讨论】:
-
你不能直接获取价值吗?
$("#materialRequestId").value; -
我可以,但问题是我有多个具有该 ID 的实体。现在想来,其实应该是一个类而不是一个Id,但问题依然存在xD
-
页面上不能有超过 1 个元素具有该 ID。
-
是的,明白了!谢谢!另外,我尝试在代码中使用
.attr('value'),它可以工作!不知道为什么:S 如果你用这个解释添加一个答案,我会接受它:D
标签: javascript c# jquery html asp.net-mvc-4