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