-1

クライアントがチェックボックスをクリックした後にチェックボックスの値を取得するにはどうすればよいですか。

以下では、常にページにロードされた値を返しますが、クライアントがそれを変更した場合、変更は反映されませんか?ありがとう

var isChecked = $('#chkSelect').is(':checked');
4

5 に答える 5

4

changeイベントをリッスンする必要があります。

jsFiddle デモ

$('#chkSelect').change(function(){
   // use this one if you need the object value
   var isChecked = $('#chkSelect:checked').val();       // returns value: on / undefined
   // or this one if you need a boolean value
   var bool_isChecked = $('#chkSelect').is(':checked'); // returns boolean: true / false
   
   alert(isChecked +' '+ bool_isChecked);               // test the vars result
});
于 2012-08-20T13:30:27.847 に答える
1
$('#chkSelect').change(function(){
var isChecked = $('#chkSelect').is(':checked');
}
);

チェックボックスに変更ハンドラを使用することをお勧めします。それよりも、チェック.click()ボックスの状態をクリックせずに変更できるため、使用することをお勧めします。上記のスクリプトはisChecked、変更ごとに変数を更新します。

于 2012-08-20T13:31:05.767 に答える
1

それは、コードをイベントに添付していないためです。ユーザーがこのようなチェックボックスをクリックすると、コードのブロックを追加できます

$('#chkSelect').click(function(){
     var isChecked = $(this).is(':checked');
}); 
于 2012-08-20T13:31:09.857 に答える
1

そこにはクリックハンドラはありません。onclick を更新する必要があります。

$(document).ready(function(){
    var $chkSelect = $('#chkSelect'),
        isChecked = $chkSelect.is(':checked');

    $chkSelect.click(function(){
        isChecked = $chkSelect.is(':checked');
    }
});
于 2012-08-20T13:31:18.503 に答える
0

クライアントが値を変更した場合、イベント ハンドラー .click() .change() などを介してそれをキャプチャする必要があります。

したがって、関数を引数として受け入れるイベントハンドラーを追加する必要があります。これは、イベントが報告された後に何らかのアクションを実行します(この場合、変数 isChecked を更新します)。

チェックボックスIDがmyChkbxであるとします

$("#myChkbx").change(function(){
  isChecked = $(this).is(':checked'); // will return true/false depending on the state
});

また、入力要素の値属性を介してチェックボックスに値を保存している場合、これはチェックボックスの「値」を提供value="some value" しません。

$("#myChkbx").change(function(){
  isChecked = $(this).val(); // will return the value regardless if checked or not
});

このフィドルで試すことができます

于 2012-08-20T13:43:05.337 に答える