2010-06-01 67 views
0

JS中的主人可以告訴我這有什麼問題嗎?如果JavaScript與AND/OR ..不起作用

if ($.trim($("#add-box-text").val()).length < 2 && $.trim($("#add-box-text").val()) != "Click here to add an item") { 
    // If it's LT than 1 Character, don't submit 
    $("#add-box-text").effect('highlight', {color: '#BDC1C7'}, 500); 

    // Refocus 
    $("#add-box-text").focus(); 
} 
+1

嗯,有一件事:你正在檢查一個字符串是否少於2個字符長。然後你確定它不是「Click here to ....」,但是......「Click here to ...」超過2個字符......所以它會在第一次檢查時失敗。爲什麼要打擾第二個? – 2010-06-01 04:13:29

+0

所以也許它應該是它不能低於2個字符或等於字符串。那可能嗎? – AnApprentice 2010-06-01 04:24:44

回答

1

首先,如果它小於2個字符,它永遠不會等於該字符串。

編輯:修改以反映您的意見。你想檢查它是否大於或等於該字符串。

var trimmed = $.trim($("#add-box-text").val()); 
if (trimmed.length >= 2 && trimmed != "Click here to add an item") { 
    $("#add-box-text").effect('highlight', {color: '#BDC1C7'}, 500); 

    // Refocus 
    $("#add-box-text").focus(); 
} 
+0

我不認爲這是...我不想要2個字符以下的Avalue ..我也不想要默認值:「點擊此處添加項目」 這就是爲什麼它具有AND以上的想法? – AnApprentice 2010-06-01 04:21:05

+0

@nobosh - 查看我的評論。這是多餘的。如果你不想要兩個字符以下的值,你需要執行'> 2'而不是'<2' – 2010-06-01 04:23:22