我是 jQuery 新手,在搞清楚一些事情时遇到了一些麻烦。
我有一个在页面底部调用的函数,用于将自动完成功能附加到文本框,这部分工作正常。以下是为启用自动完成而调用的代码:
$(function(){
$('#intext').autocomplete('get-data.php?mode=sql', {
width: 400,
max: 5,
selectFirst: false
});
});
但是,搜索框包含两个单选按钮,用于两种不同类型的搜索。自动完成功能应仅适用于一种类型的搜索。
所以我的问题是,如何通过单击一个单选按钮启用它,并通过单击第二个单选按钮禁用它?
编辑
自动完成脚本有一个 .autocomplete("disable") 方法,但我不知道如何根据选中的单选按钮启用/禁用该方法。
编辑 2
我正在尝试让“Rory McCrossan”建议的方法起作用,因为我正在使用 jQuery UI Autocomplete。这是我的单选按钮和搜索框的代码:
News: <input type="radio" class="myRadio" name="search_type" value="news" checked="checked" onclick="this.form.action='/search.php';" />
Media Gallery: <input type="radio" class="myRadio" name="search_type" value="media" onclick="this.form.action='/media.php';" />
<input id="intext" class="txt" type="text" name="searchterms" />
我在每个页面上运行的脚本中有以下代码:
addAutoComplete($("#intext"));
$(".myRadio").change(function() {
if ($(this).val() == "news") {
if (!$("#intext").hasClass("ui-autocomplete-input"))
addAutoComplete($("#intext"));
}
else {
$("#intext").autocomplete('destroy')
}
});
function addAutoComplete($el) {
$('#intext').autocomplete('autocomplete-data.php?mode=sql', {
width: 400,
max: 5,
selectFirst: false
});
}
这似乎不起作用,并且 Firefox 中的错误控制台没有显示任何错误。