0

いくつかのチェックボックスと、選択したチェックボックスに応じてアクションを開始する送信ボタンを備えたプログラムにASP.netを使用しています。

ただし、私のチェックボックスの1つは、この送信ボタンとして動作する必要があります。つまり、このチェックボックスを選択/選択解除すると、ボタンと同じアクションがトリガーされる必要があります。誰かがこれを行うのを手伝ってくれますか(またはおそらくチュートリアルに私を導いてください)

コントローラのクラスとモデルがあります。

ありがとうございます

編集プログラムは次のようになります。

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

他のすべては、ほとんどコントローラーで処理されます。

4

3 に答える 3

2

javascriptを使用して、チェックボックスのチェックイベントをリッスンしてから、フォーム送信を呼び出すことができます。

ビューのマークアップが次のようになっていると仮定します

<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>

編集質問の編集に従って。

以下のようにCheckBoxHelperメソッドの使用法を変更して、チェックボックスに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 に答える