当前位置:  开发笔记 > 前端 > 正文

使用jQuery禁用输入上的其他文本框

如何解决《使用jQuery禁用输入上的其他文本框》经验,为你挑选了1个好方法。

我有一个包含多个搜索(文本)字段的表单.当文本输入其中一个字段时,我想禁用其他字段.相反,如果从活动文本字段中删除所有文本,则应重新启用其他字段.

基本的想法是这样的(我认为):

$(document).ready(function() {
    $("input[@type=text]").keypress(function(e) {
        if(current textbox has text in it)
        {
            //disable all textboxes that aren't this one
        }
        else
        {
            //enable all textboxes
        }
    });
});

我不清楚找到/使用"所有不是这个文本框"的最简单方法是什么.



1> Paolo Bergan..:

我认为"所有不是这个文本框"的最佳方法是使用not过滤器:

$(document).ready(function() {
    $(":text").keyup(function(e) {
        if($(this).val() != '') {
            $(":text").not(this).attr('disabled','disabled');
        } else {
            $(":text").removeAttr('disabled');
        }
    });
});

情侣笔记:

我建议为要包含此行为的所有输入元素提供一个类,并执行input.myfields的选择器,因为它更快/更清晰.

此外,从jQuery 1.3开始,@不支持选择器中的.:text是你想要的简写,如果你坚持以这种方式选择它们.

我也认为你想要这个keyup活动而不是keypress.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有