2012-03-07 27 views
2

ユーザーがフォームを送信したときに、選択したチェックボックスの値とその隣にある非表示のフィールド値を取得しようとしています。選択したチェックボックスの値を取得する方法は?

<form....> 

<td><input type='checkbox' name='checkbox' value='1' ></input></td> 
<input type='hidden' name='sid1' value='1'/> 

<td><input type='checkbox' name='checkbox' value='1' ></input></td> 
<input type='hidden' name='sid2' value='2'/> 

<td><input type='checkbox' name='checkbox' value='1' ></input></td> 
<input type='hidden' name='sid3' value='3'/> 

私は試してみてください。

$(document).ready(function(){ 
    if($("input[name='checkbox']['checked']")) { 
     $("input[name='checkbox']['checked']").each(function(){ 
      var test=$(this).val(); 
      alert(test);  
     }) 
    } 
}) 

が、それも彼らがチェックされていないと思っていた私に、すべてのチェックボックスの値を与えるだろう。いずれにせよ、これについて私は助けてくれるだろうか?どうもありがとう!

+1

a)の入力要素は、終了タグを取らない(それが自己閉じ)およびb)あなたがあなたのテーブルの外のような入力要素を持つことができません細胞。 – j08691

+0

はい。それは私の間違いでした。ここにコードを書いたとき、私はあまり注意を払わなかった。先端に感謝します。 +1 – FlyingCat

答えて

2

まず、あなたが使用していますあなたの入力要素にまったく同じ名前。 、使用することを確認されているすべての入力を選択するには

<input type='checkbox' name='checkbox[]' value='1'/> 
<input type='checkbox' name='checkbox[]' value='2'/> 
<input type='checkbox' name='checkbox[]' value='3'/> 

:あなたのような何かを行う必要があります

$('input:checked').each(function() { 
    // To pass this value to its nearby hidden input 
    $(this).parent('td').next('input').val(this.value); 
}); 
+0

助けてくれてありがとう。 +1。私はまだあなたのコードに取り組んでいます。それが動作する場合、あなたに緑を与えるかもしれません。 – FlyingCat

+0

ありがとうございます、コードを修正し、必要なものをすべて手に入れました。 – FlyingCat

3

[ '確認']は有効なセレクタではありません、私はあなたが:checked

$("input[name='checkbox']:checked") 
1

を探していると思いますが、この代わりにしたい:すべての

$("input[type='checkbox']:checked") 
         ^^^^^^^^^---use this 
+0

助けてくれてありがとう。 +1。 – FlyingCat

1

あなたはこのあまりに

$("input:checked").each(function(){ 
     var test=$(this).val(); 
     alert(test);  
    }); 

フィドルhereをしようとします。

+0

ありがとうございます。私は値を得るためにリフレッシュしなければならないようだ。ユーザーが値を選択すると値がポップされるようにしたい。 +1 – FlyingCat

4

ここにある:

<HTML> 
    <HEAD> 
     <TITLE>Multiple-Select Check Boxes</TITLE> 
     <SCRIPT LANGUAGE="JavaScript"> 
     function getSelected(opt) { 
      var selected = new Array(); 
      var index = 0; 
      for (var intLoop = 0; intLoop < opt.length; intLoop++) { 
       if ((opt[intLoop].selected) || 
        (opt[intLoop].checked)) { 
        index = selected.length; 
        selected[index] = new Object; 
        selected[index].value = opt[intLoop].value; 
        selected[index].index = intLoop; 
       } 
      } 
      return selected; 
     } 

     function outputSelected(opt) { 
      var sel = getSelected(opt); 
      var strSel = ""; 
      for (var item in sel)  
       strSel += sel[item].value + "\n"; 
      alert("Selected Items:\n" + strSel); 
     } 
     </SCRIPT> 
    </HEAD> 
    <BODY> 
     <FORM NAME="ColorSelector"> 
     <INPUT TYPE=CHECKBOX NAME="color" VALUE="Red">Red 
     <INPUT TYPE=CHECKBOX NAME="color" VALUE="Navy" CHECKED>Navy 
     <INPUT TYPE=CHECKBOX NAME="color" VALUE="Black">Black 
     <INPUT TYPE=CHECKBOX NAME="color" VALUE="White" CHECKED>White 
     <INPUT TYPE=BUTTON VALUE="Selected Check Box Items" 
      ONCLICK="outputSelected(this.form.color);"> 
     <P> 
     <SELECT NAME="multistore" SIZE=3 MULTIPLE> 
      <OPTION VALUE="Computer" SELECTED>Computer</OPTION> 
      <OPTION VALUE="Bookstore">Book Store</OPTION> 
      <OPTION VALUE="MailOrder" SELECTED>Mail Order</OPTION> 
     </SELECT> 
     <INPUT TYPE=BUTTON VALUE="Selected List Items" 
      ONCLICK="outputSelected(this.form.multistore.options)"> 
     </FORM> 
    </BODY> 
</HTML> 
+0

助けてくれてありがとう+1。私はまだあなたのコードに取り組んでいます。あなたに緑を与えるかもしれない。 – FlyingCat

+0

このコードは、ちょっとした問題なしにIE10で私のために働いていました。ありがとう! – LeSteelBox

0
//Script  
<script type="text/javascript"> 
      function getCheck() { 
       alert(document.getElementById('<%= CheckBox1.ClientID %>').checked); 
      } 

    </script> 
//Form 
     <form id="form1" runat="server"> 
     <div> 

      <asp:CheckBox ID="CheckBox1" runat="server" /> 

      <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="getCheck()" /> 

     </div> 
     </form> 
関連する問題