使用Jquery启用/禁用输入

时间:2017-06-26 08:42:16

标签: javascript jquery

我有这样的代码,当我填满#number时,#texth被启用(默认为禁用)让我填写它。但是当我删除#number中的内容时。它不会禁用#texth!

 function soluong_nhap()
    {
        $('#customers2').find('tr').click( function(){
            var row = $(this).find('#number').val();
            if(row != null)
            {
                $('#texth').prop("disabled", false);
            }
            if(row == null)
            {
                $('#texth').prop("disabled", true);
            }

        });
    }

5 个答案:

答案 0 :(得分:5)

当您删除内容时,它不会变为空,它是""。您应该将其添加到您的条件中,并使用else

function soluong_nhap()
{
    $('#customers2').find('tr').click( function(){
        var row = $(this).find('#number').val();
        if (row === null || row === "")
        {
            $('#texth').prop("disabled", true);
        }
        else
        {
            $('#texth').prop("disabled", false);
        }
    });
}

答案 1 :(得分:1)

因为当您删除所有内容时,#texth的值变为"" (空字符串)

试试这个

function soluong_nhap()
{
    $('#customers2').find('tr').click( function(){
        var row = $(this).find('#number').val();
        $('#texth').prop("disabled", !row);
    });
}

答案 2 :(得分:1)

尝试使用keyup()函数。

$(row).keyup(function() {
 if(row != null)
            {
                $('#texth').prop("disabled", false);
            }
            if(row == null)
            {
                $('#texth').prop("disabled", true);
            }
}

答案 3 :(得分:1)

if (row === null || row === "")
    {
        $('#texth').prop("disabled", true);
    }
    else
    {
        $('#texth').prop("disabled", false);
    }

答案 4 :(得分:0)

您可以简化为:

$('#texth').prop("disabled", (row === null || row === ""));