Jquery在按键时禁用/启用
我一直试图在表单上添加一个小jquery功能,但似乎无法正常运行:Jquery在按键时禁用/启用,jquery,Jquery,我一直试图在表单上添加一个小jquery功能,但似乎无法正常运行: $("#progress-reg").keypress(function(event){ var n = $('#progress-reg').length; $('#progress-next').prop("disabled", (n < 1) ? true : false); }); $(“#进度记录”).按键(功能(事件){ 变量n=$(“#进度记录”)。长度; $(“#下一步进展”)
$("#progress-reg").keypress(function(event){
var n = $('#progress-reg').length;
$('#progress-next').prop("disabled", (n < 1) ? true : false);
});
$(“#进度记录”).按键(功能(事件){
变量n=$(“#进度记录”)。长度;
$(“#下一步进展”).prop(“已禁用”(n<1)?true:false);
});
这个想法是,如果用户开始在#progress reg
中输入,它将启用#progress next
按钮(工作正常),但如果用户删除了#progress reg的内容,我希望它恢复为禁用按钮,但上面的代码似乎没有这样做
在发布之前,我确实在这里搜索过,但什么也看不到
谢谢您应该检查
值的长度
属性
$("#progress-reg").keypress(function(event){
$('#progress-next').prop("disabled", this.value.length == 0);
});
另外,我对代码进行了一些修改,使其更短。如果n<1,请使用禁用的移除道具
$(“#进度记录”).keyup(功能(事件){
var n=$(this).val().length;
如果(n<1)$(“#下一步进行”).removeProp(“禁用”);
else if($('progress next').prop(“disabled”)==false)$('progress next').prop(“disabled”,true);
});
您可以使用。在('input',…
事件上,它与复制/粘贴一起工作。使用val()
方法获取内容,然后添加或删除按钮的禁用属性
$(“#下一步进度”).prop(“已禁用”,true)
//使用复制粘贴
$(“#进度记录”)。关于('输入',函数(事件){
var n=$(this).val().length;
$(“#下一步进度”).prop(“已禁用”,n<1)
});
好的
您应该检查输入中值的长度,而不是输入本身
您应该绑定keyup
,而不是keypress
$(“#进度记录”)。关于(“键控”,函数(){
var n=this.value.length;
$(“#下一步进展”).prop(“已禁用”,n<1?真:假);
});
接下来
谢谢Sebo,我也试过了,但在endWell中使用了较短的代码。我建议您测试它是否已经禁用,但不是必须的
$("#progress-reg").keyup(function(event){
var n = $(this).val().length;
if (n < 1) $('#progress-next').removeProp("disabled");
else if ($('#progress-next').prop("disabled") == false) $('#progress-next').prop("disabled",true);
});