我想用值数组设置输入表单的属性(用于自动完成搜索)。我有一个 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) );
关于javascript - 将 JavaScript 数组打印到 HTML,方括号和引号完好无损,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9871090/