Javascript 使用对象属性时对其求值
我正在使用JQuery自动完成AJAX插件,如下所示Javascript 使用对象属性时对其求值,javascript,jquery,closures,Javascript,Jquery,Closures,我正在使用JQuery自动完成AJAX插件,如下所示 $(document).ready(function() { $("#myfield").autocomplete({ serviceUrl:'autocomplete.asp?soc=' + $("#soc").val() }); }); 它不起作用,因为(我假设)serviceUrl属性在页面加载时被评估一次,而我希望它改变以反映$(“#soc”)的当前值 我可以通过某种闭包来实现这一点,还是必须手动更
$(document).ready(function() {
$("#myfield").autocomplete({
serviceUrl:'autocomplete.asp?soc=' + $("#soc").val()
});
});
它不起作用,因为(我假设)serviceUrl属性在页面加载时被评估一次,而我希望它改变以反映$(“#soc”)的当前值
我可以通过某种闭包来实现这一点,还是必须手动更改
$(“#soc”).change()
?从文档中可以看出,一旦创建自动完成对象,选项就会绑定。因此,如果#soc
正在更改,则每次都需要更新serviceUrl
//create variable to store your autocomplete
var ac = $('#query').autocomplete(options);
//update it when #soc changes
$('#soc').change( function() {
ac.setOptions({ serviceUrl: 'autocomplete.asp?soc=' + $("#soc").val() });
});
这就是你使用的密码吗?因为.val没有给出任何结果-您需要.val()才能给出任何结果。我正在使用
.val()
,忘记复制到问题中。对不起。您使用的是什么自动完成库?我在jQueryUI库中没有看到serviceURL。@Francis