我有禁用按钮的jquery 如果选中复选框,则启用按钮
document.getElementById('disabler').onchange = function() {
if ($(disabler).is( ":checked" ) ){
$("#signin_submit").prop('disabled', false);
$("#signin_submit").css( 'cursor', 'pointer' );
} else {
$("#signin_submit").prop('disabled', true);
$("#signin_submit").css( 'cursor', 'not-allowed' );
}
}
});
有很多复选框,但此代码仅适用于第一个复选框!
答案 0 :(得分:1)
有很多复选框,但此代码仅适用于第一个复选框!
ID必须是唯一的。。你应该上课。
使用类选择器的示例
$('.disabler').change(function () {
if ($(this).is(":checked")) {
$("#signin_submit").prop('disabled', false).css('cursor', 'pointer');
} else {
$("#signin_submit").prop('disabled', true).css('cursor', 'not-allowed');
}
});
答案 1 :(得分:1)
尝试仅使用jQuery:
$('#disabler').change(function() {
if ($(this).is(":checked")) {
$("#signin_submit").prop('disabled', false).css('cursor', 'pointer');
} else {
$("#signin_submit").prop('disabled', true).css('cursor', 'not-allowed');
}
});
答案 2 :(得分:1)
使用此:
$(document).on("change", "<selector for disablers>", function() {
if (this.checked) {
$("#signin_submit").prop('disabled', false);
$("#signin_submit").css('cursor', 'pointer');
} else {
$("#signin_submit").prop('disabled', true);
$("#signin_submit").css('cursor', 'not-allowed');
}
});
<selector for disablers>
应该是一个类(.disabler
)而不是id,因为你说你有很多。
答案 3 :(得分:1)
试试这个:
$("#disabler").change(function(){
if ($("#disabler").is( ":checked" ) ){
$("#signin_submit").prop('disabled', false);
$("#signin_submit").css( 'cursor', 'pointer' );
}
else {
$("#signin_submit").prop('disabled', true);
$("#signin_submit").css( 'cursor', 'not-allowed' );
}
});
答案 4 :(得分:1)
如果您的页面中有多个disabler
,则首先应使用class
属性而不是ID
,然后轻松执行此操作:
$(document).on("change", ".disabler", function(){
//your stuff
});
ID属性用作unique
标识符。
检查此工作DEMO;
答案 5 :(得分:1)
我同意,您已经在使用jQuery,所以请使用它。
但是,此外,您调用jQuery对象的次数太多了。如果您要解析以多次获取jQuery对象,那么您应该创建局部变量。
其次,您可以考虑使用闭包的功能:
function wireDisabler() {
// closures
var $cbxDisabler = $('#disabler');
var $btnSubmit = $("#signin_submit");
var fOnChange = function() {
var bChecked = $cbxDisabler.is(':checked');
$btnSubmit.prop('disabled', !bChecked)
.css('cursor', (bChecked ? 'pointer' : 'not-allowed'));
};
// handle event
$cbxDisabler.change(fOnChange);
}