我有一个表格,每行包含一个按钮和一些元素。
我想在单击按钮时获取其中一些元素的值,然后将其传递给 Ajax 调用。
我的问题是获取这些元素的值。
表格行如下所示:
<tr>
<td>
<input id="item_AllocationId" name="item.AllocationId" type="hidden" value="39">
<input class="form-control input-width-medium text-box single-line" data-val="true" data-val-required="The Description field is required." id="item_Description" name="item.Description" type="text" value="Welcome Centre Rent">
</td>
<td>
<div class="checker" id="uniform-item_GiftAidable"><span><input class="uniform checkbox" id="item_GiftAidable" name="item.GiftAidable" type="checkbox" value="true"></span></div><input name="item.GiftAidable" type="hidden" value="false">
</td>
<td>
<div class="checker" id="uniform-isActive"><span class="checked"><input checked="checked" class="uniform checkbox" id="isActive" name="item.IsActive" type="checkbox" value="true"></span></div><input name="item.IsActive" type="hidden" value="false">
</td>
<td>
<input class="update-allocation" type="submit" name="update-allocation" value="Update">
</td>
</tr>
和 jQuery:
$(document).ready(function () {
$('.update-allocation').click(function (event) {
var isactive = $(this).parent().find('#isActive:checkbox:checked');
alert(isactive);
});
});
这至少找到了一个对象,但是一旦我在那里使用 .val() ,它就会出现未定义的情况。
这是一个jsFiddle
我正朝着正确的方向前进吗?或者我完全迷失在 DOM 中了?
仅供参考,HTML 是使用 ASP.Net Razor 生成的。
这是一个例子https://jsfiddle.net/m0nk3y/owoze110/5/
我所做的是缓存父行<tr>
,然后将其用作参考。从那里您可以找到特定字段的值。我在这个例子中是为了描述而这样做的:
$('.update-allocation').click(function (event) {
var $row = $(this).parents('tr');
var desc = $row.find('input[name="item.Description"]').val();
var gift = $row.find('input[name="item.GiftAidable"]').is(':checked');
var isActive = $row.find('input[name="item.IsActive"]').is(':checked');
alert('description: ' + desc + '\ngift aidable: ' + gift + '\nis active: '+isActive);
});
另外,我注意到您对所有输入使用相同的 ID 属性。我建议您使用类,因为您应该只有一个 ID 实例。如果您还有其他问题,请告诉我。祝你好运。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)