EDIT:hiddenフィールドに
をoption.value置くために更新しましたはい、それは可能です。たとえば、次のHTMLコードがある場合:
<input type="text" id="myTextBoxId"></input>
<!-- added hidden field to store selection option value -->
<input type="hidden" id="myHiddenField" name="selectedCategory"></input>
<select id="mySelectId" style="display: none">
<option>Category 1</option>
<option>Category 2</option>
<option>...</option>
</select>
をあなたは配列にこのデータを置くために、次のjQueryコードを使用することができます。
var categories = $.map($("#mySelectId option"), function(e, i)
{
return e; // Updated, return the full option instead its text
});
そして最後に、あなたはthis oneのようなオートコンプリートのプラグインを使用することができます:
$("#myTextBoxId").autocomplete(categories,
{
formatItem : function(item) { return item.text; } // Added
});
は、あなたが(autoFillのとmustMatchのような)を使用することができますどのようなoptions見るためにautocomplete plugin demo pageを確認してください。
あなたがしなければならないのは、あなたのHTMLヘッダー(jqueryのjsファイル、オートコンプリートのCSS & JS、あなたのページのコード)でこれを入れて:[OK]を、それはわずか数行のコードだ
<link rel="stylesheet" type="text/css" href="jquery.autocomplete.css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.autocomplete.js">
</script>
<script type="text/javascript">
$(function()
{
// Updated script
var categories = $.map($("#mySelectId option"),
function(e, i) { return e; });
$("#myTextBoxId").autocomplete(categories,
{
formatItem : function(item) { return item.text; }
});
// Added to fill hidden field with option value
$("#myTextBoxId").result(function(event, item, formatted)
{
$("#myHiddenField").val(item.value);
}
});
</script>
が、私実際には "配列を選択する"ものが好きではありません。可能であれば、ユーザーの入力と一致するカテゴリのリストを返すページを作成する必要があります(デモページで例を確認してください。不幸にも、Textpatternではあまり役に立ちません)。
もちろん、私はテストしませんでした。質問があればコメントを入力してください。 編集:私はではなく、私のselect
で5Kの項目で、テストをDID;)
出典
2009-03-04 20:08:16
ybo
私は最終的にここに投稿された変更を使用してこれを動作させました:http://forum.textpattern.com/viewtopic.php?pid=211878#p211878 ありがとう! –