jQuery prop不作为if语句的一部分工作
我无法在jQuery中基于if/else语句启用和禁用按钮。这里的问题是,当文本输入处于焦点时,按钮会立即启用。代码似乎忽略了if语句中的参数。很明显,这不是我正在尝试制作的应用程序,但我制作了这段代码来测试网站中不起作用的部分。有什么建议吗 这是HTMLjQuery prop不作为if语句的一部分工作,jquery,prop,Jquery,Prop,我无法在jQuery中基于if/else语句启用和禁用按钮。这里的问题是,当文本输入处于焦点时,按钮会立即启用。代码似乎忽略了if语句中的参数。很明显,这不是我正在尝试制作的应用程序,但我制作了这段代码来测试网站中不起作用的部分。有什么建议吗 这是HTML <input type="text" id="type_here" /> <input type="button" id="test_button" value="test" disabled/> 试试这个:- 您正
<input type="text" id="type_here" />
<input type="button" id="test_button" value="test" disabled/>
试试这个:-
您正在使用.val
而不是.val()
.val将始终返回函数引用,而不是函数的结果。所以你的陈述永远是真实的
$(document).ready(function () {
$(document).click(function () {
$('#test_button').prop('disabled', $('#type_here').val() === "");
}).keyup(function () {
$('#test_button').prop('disabled', $('#type_here').val() === "");
});
});
这将做同样的事情。最初,按钮是禁用的,输入一些内容后,它将被启用
@SachinG感谢你们两位。我希望我能给出两个答案。我不熟悉堆栈溢出,所以无法升级投票。如果可以,我会的。:-)
$(document).ready(function () {
$(document).click(function () {
$('#test_button').prop('disabled', $('#type_here').val() === "");
}).keyup(function () {
$('#test_button').prop('disabled', $('#type_here').val() === "");
});
});
$('#type_here').on('keyup change',function(){
if($(this).val().length == 0)
$('#test_button').prop('disabled', true);
else
$('#test_button').prop('disabled', false);
});