Javascript 更改自动完成小部件的源
我对jquery自动完成小部件有一个奇怪的问题。 首先,我有一个“select”HTML元素,它显示所有项目。 我还有一个输入元素,可以在其中搜索与所选项目相对应的问卷 所以我有这个代码: 一切都很好。但我的问题是当我用F5而不是Ctrl+F5刷新页面时:选择框的上一个选项始终处于选中状态,因此我想更改自动完成小部件的源代码,我向您展示的代码应该这样做 但是,除非我在$'search-Questionly'前面添加了一个警报,否则源不会更改。自动完成'option','source',data;: 所以我不明白。是虫子吗Javascript 更改自动完成小部件的源,javascript,jquery,jquery-ui,jquery-autocomplete,Javascript,Jquery,Jquery Ui,Jquery Autocomplete,我对jquery自动完成小部件有一个奇怪的问题。 首先,我有一个“select”HTML元素,它显示所有项目。 我还有一个输入元素,可以在其中搜索与所选项目相对应的问卷 所以我有这个代码: 一切都很好。但我的问题是当我用F5而不是Ctrl+F5刷新页面时:选择框的上一个选项始终处于选中状态,因此我想更改自动完成小部件的源代码,我向您展示的代码应该这样做 但是,除非我在$'search-Questionly'前面添加了一个警报,否则源不会更改。自动完成'option','source',data;
编辑:我无法向您展示JSFIDLE的“F5刷新”功能。如果您想测试它,您必须复制代码并在导航器中使用。我没有测试您的代码,但从外观上看,这是一个时间问题。我在Javascript中多次遇到过这种情况。要解决此问题,请尝试使用0毫秒的设置超时: 而不是
$('#search-questionnaire').autocomplete('option', 'source', data);
尝试:
让我知道这是怎么回事。这个问题有用吗:?显然我不这么认为:
$('#search-questionnaire').autocomplete('option', 'source', data);
setTimeout(function() {
$('#search-questionnaire').autocomplete('option', 'source', data);
}, 0)