2012-03-26 117 views
1

我想使用值數組設置輸入表單的屬性(用於自動完成搜索)。我有一個JS數組,看起來有點像這樣:將JavaScript數組打印爲HTML,方括號和引號不變

var suggestions = ["value1", "value2", "value3"]; 

使用jQuery,我這樣做:

$("#search-input").attr("data-source", suggestions); 

所需的輸出:

<input type='search' data-source='["value1", "value2", "value3"]' /> 

實際輸出:

<input type='search' data-source='value1, value2, value3' /> 

這打破了t他自動完成,因爲它需要一個數組(至少看起來像一個JavaScript數組)。

回答

3

使用

$("#search-input").data("source", suggestions); 

因爲這

$("#search-input").attr("data-source", suggestions); 

data-source屬性值(即,字符串)設置爲的suggestions.toString()的結果,這當然是

"value1,value2,value3" 

FWIW,這將是更正ECT還有,即使不必要的複雜:

$("#search-input").attr("data-source", JSON.stringify(suggestions)); 
+0

完美,謝謝! – 2012-03-26 11:43:55

1

一個快速可行的辦法是

$("#search-input").attr("data-source", JSON.stringify(suggestions)); 
2

你可以使用Split()方法創建數組

suggestions.split(","); 

'value1, value2, value3'.split(","); // ["value1", " value2", " value3"]