我对我正在使用的技术很困惑。我正在使用EditorFor来显示值。
要生成的值的代码如下:
<tr>
<td>@Html.HiddenFor(m => m.ID)@Html.CheckBoxFor(m => m.Authorized)</td>
<td>@Html.DisplayFor(m => m.ID)</td>
<td>@Html.DisplayFor(m=>m.UserName) </td>
</tr>
我的目标是检查Checkbox,我需要发布ID值如下:
$("input:checkbox").live('click', function () {
if ($(this).attr('checked')) {
var ID = $(this).parent().parent().find('#ID').val();
$.ajax({
type: "POST",
url: '<%=Url.Action("Edit","Employee") %>',
data: JSON.stringify(ID),
contentType: "application/json; charset=utf-8",
dataType: "html",
success: function () {
},
error: function (request, status, error) {
alert("Error: " & request.responseText);
}
});
} });
但是,var ID = $(this).parent()。parent()。find('#ID')。val();未定义。如何从以下生成的HTML中读取ID值:
<td><input id="Employee_0__ID" name="Employee[0].ID" type="hidden" value="1100" /><input id="Employee_0__Authorized" name="Employee[0].Authorized" type="checkbox" value="true" /><input name="Employee[0].Authorized" type="hidden" value="false" /></td>
<td>user </td>
答案 0 :(得分:0)
不确定我明白你要找的是什么价值?
会这样。
var ID = $(this).parent().parent().find('#ID').attr('value');
或者
var ID = $(this).parent().parent().find('#ID').attr('id');
工作?
答案 1 :(得分:0)
对于指定的HTML,这应该足够了,因为隐藏元素是DOM中复选框的前一个兄弟
var ID = $(this).prev().val();