我有两个文件。
location.php, that outputs this:
[["javascript"],["PHP"]]
并在另一个档案中:
<script type="text/javascript">
$.getJSON('location.php', function(data) {
var sampleTags = [];
$.each(data, function(key, val) {
sampleTags.push(val);
});
alert(sampleTags); // show javascript, php
//-------------------------------
// Preloading data in markup
//-------------------------------
$('#myULTags').tagit({
availableTags : sampleTags, // this param is of course optional. it's for autocomplete.
// configure the name of the input field (will be submitted with form), default: item[tags]
itemName : 'item',
fieldName : 'tags'
});
});
</script>
自动完成功能无效。为什么?
如果我使用:
var sampleTags = [ 'javascript', 'php'];
一切运作良好,但使用json自动完成功能根本不起作用。
答案 0 :(得分:3)
$.each(data, function(key, val) {
sampleTags.push(val[0]);
});
应将[[“foo”],[“bar”]]减少为[“foo”,“bar”]
答案 1 :(得分:2)
[["javascript"], ["PHP"]]
是二维数组。你的Javascript期待一维数组。有你的PHP输出:
[ "javascript", "PHP" ]
在PHP中,数组应如下所示:
array( "javascript", "php" );