簡體   English   中英

將JavaScript數組完整打印為HTML,方括號和引號

[英]Print a JavaScript array to HTML, square brackets and quotation marks intact

我想用一個值數組設置輸入表單的屬性(用於自動完成搜索)。 我有一個看起來像這樣的JS數組:

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' />

這會破壞自動完成功能,因為它需要一個數組(或者至少是一個看起來像JavaScript數組的東西)。

采用

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

因為這

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

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

"value1,value2,value3"

FWIW,即使不必要地復雜,這也是正確的:

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

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

 suggestions.split(",");

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

一種快速可行的解決方案是

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM