私はjQueryを初めて使用し、何かを理解するのに問題があります。
ページの下部にあるこの関数は、オートコンプリート機能をテキストボックスに添付するために呼び出されますが、この部分は正常に機能しています。オートコンプリートを有効にするために呼び出されるコードは次のとおりです。
$(function(){
$('#intext').autocomplete('get-data.php?mode=sql', {
width: 400,
max: 5,
selectFirst: false
});
});
ただし、検索ボックスには、2つの異なるタイプの検索用の2つのラジオボタンが含まれています。オートコンプリート機能は、1種類の検索でのみ使用できます。
だから私の質問は、1つのラジオボタンをクリックしてこれを有効にし、2番目のラジオボタンをクリックして無効にするにはどうすればよいですか?
編集
オートコンプリートスクリプトには.autocomplete( "disable")メソッドがありますが、どのラジオボタンがチェックされているかに基づいてそれを有効/無効にする方法がわかりません。
編集2
jQuery UIオートコンプリートを使用しているので、「RoryMcCrossan」によって提案されたメソッドを機能させようとしています。ラジオボタンと検索ボックスのコードは次のとおりです。
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のエラーコンソールにはエラーが表示されません。