jquery if语句无法正常运行

时间:2013-04-16 03:18:27

标签: javascript jquery if-statement

我正在编写一个非常简单的函数,但无法使if语句正常工作。

$("#supplyRequestTextbox-clients").live("blur", function() {
    var textboxValue = $(this).val().replace(/\d+/g, '').replace(" ", "");
    if (textboxValue == "NO ACCOUNT") {
        $(".controlBarTextboxNoAccount").fadeIn("fast");
    }
});

输入#supplyRequestTextbox-clients中的值表示客户端,其组织方式如下:
id#FirstName LastName电子邮件电话 例如:000001 John Doe johndoe@johndoe.com 123-456-7890

如果找不到帐户,字符串将显示如下: 000906无账户

在我的函数中,我删除了数字和第一个空格,然后检查它是否在我的if语句中有效。我已经提醒了textboxValue并且它正确传递,但无论textboxValue是什么,if语句都不会触发。

5 个答案:

答案 0 :(得分:4)

将if条件更改为:

if(textboxValue.indexOf("NO ACCOUNT") !== -1)

indexOf("NO ACCOUNT")"NO ACCOUNT"内找到textboxValue,如果找不到-1则会返回"NO ACCOUNT"。如果{{1}}在您的字符串中的任何位置,那么这将是真的。

答案 1 :(得分:2)

使用==进行比较。您正在分配一个真值,因此该语句始终会触发。

答案 2 :(得分:1)

if条件更改为

if (textboxValue == "NO ACCOUNT")

如果你这样做

if (textboxValue = "NO ACCOUNT")

您实际上是将"NO ACCOUNT"分配给textboxValue并将结果评估为bool。

答案 3 :(得分:0)

尝试这样做:

$("#supplyRequestTextbox-clients").live("blur", function() {
    var textboxValue = $(this).val().replace(/\d+/g, '').replace(" ", "");

    // check what textboxValue evaluates to:
    alert(textboxValue);

if (textboxValue == "NO ACCOUNT") {
    $(".controlBarTextboxNoAccount").fadeIn("fast");
}
});

答案 4 :(得分:0)

  1. 使用==进行比较,如Kolink所示。

  2. 您正在将" "替换为"",IE。删除所有空格,以便if语句永远不会返回true。