0

我正在将 ASP.net 用于具有多个复选框和一个提交按钮的程序,该按钮根据选定的复选框启动操作。

但是,我的其中一个复选框应该与此提交按钮一样,即,在选择/取消选择此复选框时,必须触发与按钮相同的操作。有人可以帮我做这件事吗(或者指导我看一个教程)

我有一个控制器类和模型。

谢谢

编辑程序看起来像:

@using(Html.BeginForm("controllername", FormMethod.Get)) {
     @html.CheckBox("check1");
     @HTMl.Checkbos("check2");
     <input type="submit" value="Submit" />
}

其他一切都在控制器中处理。

4

3 回答 3

2

您可以使用 javascript 来监听复选框的 check 事件,然后调用表单提交。

假设您的视图标记是这样的

<form id="yourFormId" action="user/post">
  <input type="checkbox" class="optionChk" value="1" /> One
  <input type="checkbox" class="optionChk" value="2" /> Two
  <input type="checkbox" class="optionChk" value="3" /> Three
</form>
<script type="text/javascript">
  $(function(){
    $(".optionChk").click(function(){
      var item=$(this);
      if(item.val()=="2")   //check your condition here
      {
         item.closest("form").submit();
      }
    });
  });
</script>

编辑根据问题编辑。

更改 CheckBox Helper 方法的用法,如下所示,将 CSS 类添加到复选框,以便我们可以将其用于 jQuery 选择。

 @Html.CheckBox("check1",new { @class="optionChk"})
于 2012-10-30T18:58:44.367 回答
1

想象你有这样的东西:

@using(Html.BeginForm()) {

  <label class="checkbox">
    <input type="checkbox" name="chb_a" id="chb_a"> Option A
  </label>
  <label class="checkbox">
    <input type="checkbox" name="chb_b" id="chb_b"> Option B
  </label>
  <label class="checkbox">
    <input type="checkbox" name="chb_c" id="chb_c"> Option C
  </label>
  <label class="checkbox">
    <input type="checkbox" name="chb_d" id="chb_d"> Option D
  </label>

  <button type="submit" class="btn">Submit</button>

}

你可以写一个简单的jQuery来补充:

$(".submit").click(function() {
  // find the <form> the element belongs and submit it
  $(this).closest('form').submit();
});

submit有了这个,如果你想让它们提交,你只需要添加一个名为任何复选框或更多按钮的类

例如:

  <label class="checkbox">
    <input type="checkbox" name="chb_e" id="chb_e" class="submit"> Option E
  </label>
于 2012-10-30T19:02:02.860 回答
0

您可以在复选框上绑定点击事件。

$( '.myCheckboxes' ).click(function () {
  var clickedBox = $( this );
  // now do something based on the clicked box...
});

如果您需要知道选中了哪些复选框,那只是另一个选择器。

$( '.myCheckboxes:checked' ).each(function () {
  // Now you have access to each checked box.
  // Maybe you want to grab their values.
});

只需将复选框绑定到单击事件即可。假设您有一种唯一标识提交表单的复选框的方法。

$( '#formSubmitCheckbox' ).click(function() {
  $( '#myForm' ).submit();
});
于 2012-10-30T18:58:57.767 回答