我制作了一个与jQuery一起使用的表单,当所有选择器都没有值时,提交按钮被禁用。
但它不起作用= /,当所有选择器都有值时,提交按钮仍然被禁用。 请帮我找出错误。
JS:
(function() {
$('.form-valid').keyup(function() {
var empty = false;
$('.form-valid').each(function() {
if ($(this).val() == '') {
empty = true;
}
});
if (empty) {
$('#register').attr('disabled', 'disabled');
} else {
$('#register').removeAttr('disabled');
}
});
})
答案 0 :(得分:0)
你有两个问题:
select
元素上观看keyup。他们通常没有关键事件,而是change事件。 这是一个更新的工作小提琴:http://jsfiddle.net/cale_b/rgs7soaa/1/
这是更新后的代码:
// Corrected the jQuery document ready.
// Originally: (function() {
jQuery(function($) {
// Changed this from "keyup" to "change"
$('.form-valid').change(function() {
var empty = false;
$('.form-valid').each(function() {
if ($(this).val() == '') {
empty = true;
}
});
if (empty) {
$('#register').attr('disabled', 'disabled');
} else {
$('#register').removeAttr('disabled');
}
});
})
答案 1 :(得分:0)
您应该使用.change
代替.keyup
来选择标记:
$('.form-valid').change(function() {
var empty = false;
$('.form-valid').each(function() {
if ($(this).val() == '') {
empty = true;
}
});
if (empty) {
$('#register').attr('disabled', 'disabled');
} else {
$('#register').removeAttr('disabled');
}
});