如何在客户点击后获取复选框的值。
如下所示它始终返回页面上的加载值,但如果客户端更改它,那么它不会反映更改?感谢
var isChecked = $('#chkSelect').is(':checked');
答案 0 :(得分:4)
您需要收听change
事件:
$('#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
});
答案 1 :(得分:1)
$('#chkSelect').change(function(){
var isChecked = $('#chkSelect').is(':checked');
}
);
更推荐使用复选框处理复选框,然后使用.click()
,因为可以更改复选框的状态而不单击它。上面的脚本将在每次更改时更新isChecked
变量。
答案 2 :(得分:1)
那是因为您没有将代码附加到事件中。当用户单击此复选框时,您可以添加代码块
$('#chkSelect').click(function(){
var isChecked = $(this).is(':checked');
});
答案 3 :(得分:1)
那里没有点击处理程序。您必须更新onclick:
$(document).ready(function(){
var $chkSelect = $('#chkSelect'),
isChecked = $chkSelect.is(':checked');
$chkSelect.click(function(){
isChecked = $chkSelect.is(':checked');
}
});
答案 4 :(得分:0)
当客户端更改值时,您需要通过事件处理程序,.click()。change()等来捕获它。
因此,您需要添加一个事件处理程序,该事件处理程序接受一个函数作为其参数,然后在报告事件后(在您更新变量isChecked的情况下)执行某些操作
假设您的复选框ID为myChkbx
$("#myChkbx").change(function(){
isChecked = $(this).is(':checked'); // will return true/false depending on the state
});
此外,如果您通过输入元素的value属性在复选框中存储某些值,则不会为您提供复选框的“值”。 value="some value"
为此你需要
$("#myChkbx").change(function(){
isChecked = $(this).val(); // will return the value regardless if checked or not
});
您可以在this fiddle
中试用