Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用对象属性时对其求值_Javascript_Jquery_Closures - Fatal编程技术网

Javascript 使用对象属性时对其求值

Javascript 使用对象属性时对其求值,javascript,jquery,closures,Javascript,Jquery,Closures,我正在使用JQuery自动完成AJAX插件,如下所示 $(document).ready(function() { $("#myfield").autocomplete({ serviceUrl:'autocomplete.asp?soc=' + $("#soc").val() }); }); 它不起作用,因为(我假设)serviceUrl属性在页面加载时被评估一次,而我希望它改变以反映$(“#soc”)的当前值 我可以通过某种闭包来实现这一点,还是必须手动更

我正在使用JQuery自动完成AJAX插件,如下所示

$(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