jquery - 如果文本框中填充了数字,则启用按钮?

时间:2018-02-13 22:34:19

标签: javascript jquery

我想禁用一个按钮,只有在文本框中包含带数字的文本时才启用它。这是我当前的代码,但它不会在不是数字文本时停止启用该按钮。

$(document).ready(function () {
        $('#btnCalculate').prop('disabled', true);
        $('#txtbox').keyup(function () {
            $('#btnCalculate').prop('disabled', this.value == "" ? true : false);
        })
    });

当数字文本不在文本框中时,如何不启用按钮需要什么?

2 个答案:

答案 0 :(得分:4)

这将通过使用正则表达式来确保该框仅包含数字:

$(document).ready(function () {
  $('#btnCalculate').prop('disabled', true);
  $('#txtbox').keyup(function () {
    $('#btnCalculate').prop('disabled', this.value.trim().match(/^\d+$/) ? true : false);
  })
});

答案 1 :(得分:0)

This may looks very basic solution but you can check length of Textbox to say 
that minimum text should be at least this much number (I use 2 in my example). 
You can change that of course, choose wisely. :-)

//basic solution
$(document).ready(function () {
    $('#btnCalculate').prop('disabled', true);
    $('#txtbox').keyup(function () {
        var strLen = $(this).val().length;
        if (strLen >= 2) { //it can be any number 0 to N
            $('#btnCalculate').prop('disabled', true);
        }
        else{
            $('#btnCalculate').prop('disabled', false);
        }
    })
});