2011-08-09 52 views

回答

3

這是因爲你是問Val函數的長度(這將始終爲1),而不是調用它並詢問它返回的長度。試試這個:

var len = 160 - $(this).val().length 

爲了說明這在Stackoverflow上,通常使用jQuery。注意,如果你做了以下會發生什麼:

console.log($("input").val)   // [function definition of val] 
console.log($("input").val())  // "search" 
console.log($("input").val.length) // 1 
console.log($("input").val().length) // 6 

所以說,我們要結合搜索框和日誌,我們會做到這一點已投入它的字符數:

$("#search input").live("keyup", function(){ 
    console.log($(this).val().length); 
}) 
1

語法錯誤

var len = 160 - $(this).val().length; 
+1

這不是語法錯誤,只是語義。 – Paulpro

+0

@PaulPRO哦,我想是的。我認爲它拋出了一個錯誤,但它只是返回val()函數。 –