2016-09-13 7 views
0

noまたは1のいずれかの値を下の入力name="auth[]"に渡したいとします。jqueryを使用してラジオボタンの値を別のフォームフィールドに渡すにはどうすればいいですか?

<td> send 
    <input type="radio" name="authorized[]'.$c.'" id="send'.$c.'"value="1" checked> 
</td> 
<td> no 
    <input label="no" type="radio" name="authorized[]'.$c.'" id="no'.$c.'"value="no" > 
    <input name="auth[]" type="hidden" class="mailclass" id="auth'.$c.'" value="" /> 
</td> 

このコードはno値を渡しますが、誰かがその決定および再選択の送信を逆にした場合、それが戻って1に値を切り替えていません。

$(document).ready(function() { 
    var x='1' 
    $("input:radio").each(function() { 
     $(this).click(function() { 
      x=$(this).val(); 
      alert(x); 
      $(this).next('.mailclass').val(x); 
     }) 
    }) 
}) 

答えて

0

これはセレクタです。 $(this).next...は機能しません。

var x='1'; 
$("input:radio").click(function() {   
     x=$(this).val(); 
     $('input.mailclass').val(x); 
    }) 
}); 

そして、ここで働いjsfiddleです:clickを使用すると、私はこれをしなかったeach よりもあなたのコーディングのためのより良いです。

希望すると便利です。 (免責事項:あなたのコードの一部しか見ることができませんが、その根本原因はあなたのセレクタです。私が最適でない場合は、より良いセレクタを使用してください:-)

+0

ありがとうございました。私の間違いはもっとはっきりしない。私は、ラジオボタンの直後にある入力名= "auth []"を変更するだけです。あなたの提案は最後のクリックをとり、入力全体の "auth"の値を変更します –

+0

あなたのHTMLに 'name =" auth [] "'が2つ以上ありますか?上記の例では1つしかありません。あなたは私に "フル" HTMLを表示することができれば、我々はこの作業を行うことができます。 :-) – richb01

+0

myスクリプトは、多数の入力に対してフォーム値の配列を作成します。すべてのラジオボタンはname = "auth []"の値をすぐ下に設定することになっています。これは、私のSQLクエリは、印刷するためにテーブルに挿入するかどうかを知ることができます。 –

関連する問題