如何在jQuery中启用禁用的按钮

时间:2019-03-28 11:02:38

标签: jquery

我的页面上有一个带有按钮的简单搜索输入字段。当用户在输入字段中插入4个以上字符时,搜索按钮被禁用,我将其激活。我已成功启用该按钮,但单击该按钮则什么也没发生。

<div class="input-group">
     <span class="input-group-btn">

          <button type="button" id="start-search" class="btn btn-primary" disabled="disabled"><i class="fa fa-search"></i></button>                                                
     </span>
     <input type="text" autocomplete="off" id="input-code" name="code" class="form-control" placeholder="Search registration">

</div>

到目前为止有效的Javascript jQuery代码:当用户在输入字段中插入超过4个字符时,我成功启用了按钮。

$("#input-code").keyup(function() {
        var char = $(this).val();
        var charLength = $(this).val().length;

        var regex = new function() {
            this.noPrefix = /^[a-zA-Z]{4}$/;
            this.foreignPrefix = /^[^iI]-/;
        }
        var code = char.toUpperCase(char);

        if (regex.withPrefix.test(char) || regex.noPrefix.test(char))
        {

            if (regex.noPrefix.test(char))
            {
                code = 'I-' + code;     
            }

            $(this).attr("placeholder", code).val("").blur();

        }
        else
        {
            if(charLength > 4 ){
                $( "#start-search" ).prop("disabled", false);
            }
        }
    });

无效的代码。当我单击按钮时,什么都没发生。

$('#start-search').click(function(){
        if (this.id == 'start-search') {
            alert('Submit 1 clicked');
        };
        var code = $('#input-code').val();
        code = code.toUpperCase(code);
        console.log("Looking for " + code + " registration");
        $('#input-code').attr("placeholder", code).val("").blur();
        searchData(code);
    });

我添加了console.log和警报代码,仅用于调试。 如果我删除了禁用的属性,则按钮可以正常工作……我缺少什么?

还有一个问题:如何将数据结构对象传递给searchData函数?现在,我只是传递一个变量。 非常感谢您的帮助和提示。

当用户在输入字段中插入超过4个字符时,按钮将被激活;单击它,我应该调用searchData函数来检索和显示其他信息。

0 个答案:

没有答案