首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery keyup函数:使用keyup()启用/禁用textbox

jquery keyup函数:使用keyup()启用/禁用textbox
EN

Stack Overflow用户
提问于 2014-04-24 07:07:33
回答 4查看 5K关注 0票数 2

我正在尝试使用keyup功能禁用textbox。我有一个TextArea和一个文本框。现在,我在backspace键上使用了keyup操作,就像textarea中的内容长度为3一样,它应该禁用textbox。我还有一条警告信息,当文本区域中的内容长度为3时,会弹出一条警告信息。代码可以弹出,但对文本框无效。我遗漏了什么?请帮帮忙。这是我的代码:

代码语言:javascript
复制
$('#comment').keyup(function() {
    if (event.which == 8) {
           var txt = $('#comment').val().length;
            if(txt == 3)
            {
                alert("backspace");
                $("#text1").attr("diasbled", "diasbled");
            }
        }

});

这是JSfiddle的用途。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-04-24 07:12:57

这里有一些错误,应该是disabled,而不是diasbled,试试这个

代码语言:javascript
复制
$('#comment').keyup(function () {
    var len = $(this).val().length;
    if (len >= 3) {
        $("#text1").prop("disabled", true);
    }
    else{
     $("#text1").prop("disabled", false);
    }
});

演示

票数 4
EN

Stack Overflow用户

发布于 2014-04-24 07:10:57

你得做:

1) this.value.length,以获取文本区域的总字符长度

2)在jQuery版本1.6中,使用.prop()而不是.attr()来设置元素的属性

3)改正错误:应该是disabled而不是diasbled

代码语言:javascript
复制
$('#comment').keyup(function () {
    if (this.value.length >= 3) {
        $("#text1").prop("disabled", true);
    } else {
        $("#text1").prop("disabled", false);
    }
});

更新Fiddle

票数 3
EN

Stack Overflow用户

发布于 2014-04-24 07:12:48

使用prop代替attr也将事件传递给函数

代码语言:javascript
复制
 $('#comment').keyup(function (event) { //and event here
    if (event.which == 8) {
        if ($(this).val().length >= 3) {
            $("#text1").prop("disabled", true);
        }
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23262117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档