Jquery 如何在Razor的客户端检索复选框选中的属性?
我是MVC新手,现在我正在尝试显示一个项目列表,每个项目都由Jquery 如何在Razor的客户端检索复选框选中的属性?,jquery,asp.net-mvc,asp.net-mvc-3,razor,Jquery,Asp.net Mvc,Asp.net Mvc 3,Razor,我是MVC新手,现在我正在尝试显示一个项目列表,每个项目都由名称和绑定到模型中属性(所选)的复选框组成 我希望在用户单击复选框时处理某些验证,因此我的方法是设置onclick事件,如下所示 @foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.Name) </td> <td
名称
和绑定到模型中属性(所选
)的复选框组成
我希望在用户单击复选框时处理某些验证,因此我的方法是设置onclick事件,如下所示
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.CheckBoxFor(modelItem => item.Selected,
new {@onclick="alert($(this).val());"})
</td>
</tr>
}
@foreach(模型中的变量项)
{
@DisplayFor(modelItem=>item.Name)
@Html.CheckBoxFor(modelItem=>item.Selected,
新的{@onclick=“警报($(this.val());”})
}
问题是,$(this)
没有像我预期的那样引用复选框,并且我看不到chekcked属性(事实上,我无法确定$(this)
指向什么)
我无法按id获取DOM元素,因为razor没有设置id,也无法按类选择它,因为列表包含多个复选框,它们都属于同一个类
我对如何解决这个问题有一些想法,但我相信一定会有一个向前迈进的方法,所以
如何检索复选框的选中值?在内联事件处理程序中,此
引用DOM元素。
this.checked
将告诉您是否已选中
$(this)
是一个jQuery对象,包含this
;jQuery对象没有选中的属性。
.val()
将返回value
属性的值。@SLaks我从来没有说过“客户端剃须刀”,我说的是“剃须刀中的客户端”,是的,我指的是嵌入到剃须刀生成视图中的javascript或任何其他客户端脚本语言。因此解决方案非常简单,如@onclick=“alert(this.checked)”
:)非常感谢!!!