带回发的最佳usag Razor 复选框是什么? 为了考试我有一个课程如下
public class Person
{
public string Name { get; set; }
public string SurName { get; set; }
public bool hi { get; set; }
}
和一个视图(带脚本):
<script type="text/javascript">
$(function () {
$('#hi').change(function () {
$(this).closest("form").submit();
});
});
</script>
@using (Html.BeginForm(FormMethod.Post))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Person</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.SurName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.SurName)
@Html.ValidationMessageFor(model => model.SurName)
</div>
@Html.CheckBoxFor(model => model.hi)
</fieldset>
}
点击“hi”复选框后我想要回发。我该怎么办?
答案 0 :(得分:2)
有点jQuery:
$(function(){
$('#hi').change(function () {
$(this).closest("form").submit();
});
});
答案 1 :(得分:1)
我还没试过。但是在我的脑海中,我会在Html.BeginForm(FormMethod.Post)花括号中添加一个提交按钮,并为它添加一个样式以显示= none。换句话说,它是隐藏的。然后我会使用jquery添加一个复选框事件,例如onValueChange(或者也许onClick可能?,不确定所有事件。)在事件块中,我将模拟按钮点击$('#btnInvisibleButton')。点击();请注意,我在Safari上执行.Clic()时遇到了麻烦(我想通过添加特定于该浏览器的其他代码来解决这个问题,因此您应该在所有浏览器上测试代码。
尝试使用此代码,只需确保提交按钮位于表单标记内:
$('#yourCheckBox').change(function () {
$("#btnInvisibleButton").click();
});