javascript - TypeError:this.source 不是函数,this.source 为 null
问题描述
我正在尝试重做本教程,当我搜索自动完成时出现错误TypeError: this.source is not a function。(在 'this.source( { term: value }, this._response() )' 中,'this.source' 为空)
$.getJSON(url, function(data) {
stateLayer.addData(data);
console.log(data);
for (i = 0; i < data.features.length; i++) { //loads State Name into an Array for searching
arr1.push({label:data.features[i].properties.STATE_NAME, value:""});
}
addDataToAutocomplete(arr1); //passes array for sorting and to load search control.
});
stateLayer.addTo(map);
function addDataToAutocomplete(arr) {
arr.sort(function(a, b){ // sort object by Name
var nameA=a.label, nameB=b.label
if (nameA < nameB) //sort string ascending
return -1
if (nameA > nameB)
return 1
return 0 //default return value (no sorting)
})
// The source for autocomplete. https://api.jqueryui.com/autocomplete/#method-option
$( "#autocomplete" ).autocomplete("option", "source", arr);
$( "#autocomplete" ).on( "autocompleteselect", function( event, ui ) {
polySelect(ui.item.label); //grabs selected state name
ui.item.value='';
});
}
解决方案
推荐阅读
- postgresql - 安全定义器不在内部而不是触发器中工作?
- php - PHP file_get_contents():没有这样的文件或目录
- node.js - IMAGE_INSTALL 和 IMAGE_INSTALL_append 在 yocto build 中添加包失败
- performance - 即使没有使用 where 子句选择 Cassandra 中的墓碑,也会减慢查询速度
- mysql-workbench - 右键单击表名时,mysql工作台不显示完整菜单
- selenium - Robot Framework - 使用系统代理运行 Chrome
- laravel - Laravel 5.4:过滤查询设置默认为全部
- python - 用 Pandas 采样
- mysql - SQL 选择它们不一起工作的所有 ID 号对
- javascript - 在 JavaScript 中初始化一个二维数组