您好 我在我的网站上开发了一个autosuggest,它工作正常,现在问题是用户选择一个单选按钮,autosuggest应该转到相应的建议
$().ready(function() {
$("#q").autocomplete('?h=sugg&a='+$("#rad").val(), {
width:350,
max: 10,
highlight: false,
scroll: true,
scrollHeight: 300,
selectFirst: false,
formatResult: function(data, value) {
return value.split(".")[0];
}
});
<input name="q" id="q" autocomplete="off" />
<input type="radio" name="rad" value="radio" id="rad_0" checked="checked" />
Radio</label>
<br />
<label>
<input type="radio" name="rad" value="radio1" id="rad_1" />
Radio</label>
问题是它总是选择默认值,如果我选择另一个请不要改变,请告诉我该怎么做...
答案 0 :(得分:0)
关于如何初始化自动完成插件存在一些问题。
$("#q").autocomplete('?h=sugg&a='+$("#rad").val(), ...
您可以通过以下方式找到所选的无线电值:
$("input[name=rad]:checked").val();
这将找到名为“rad”的所有输入元素(您有两个)。它将使用:checked伪选择器来查找选中的单选按钮。
现在,即使您更新初始化以使用新选择器,您仍然只能使用第一个单选按钮。两个建议:
当单选按钮更改时,请更新自动完成源。
$(“input [name = rad]”)。click(function(){ $(“#q”)。autocomplete(“option”,“source”,“?h = sugg&amp; a =”+ this.value); });
请改用回调源。在这里,您可以在初始化时提供一个函数,该函数可用于根据当前选项值(或您需要的任何标准)进行不同的查询。有关如何使用“来源”的更多示例可用here。
自动完成插件的完整文档也是available here。