1

jQuery オートコンプリート (http://jqueryui.com/demos/autocomplete/) を使用していますが、機能していますが、ユーザーがアイテムを選択すると、値がテキスト ボックスに配置されます。ユーザーがアイテムを選択すると、ラベルがテキストボックスのテキストとして使用され、値が非表示フィールド「cId」に挿入されるようにしたいと思います。

私は周りを見回しており、解決策を見つけることができるようです。

私の値は、次のような ClientCsv という文字列にあります。

[ { label: "ClientId1", value: "ClientName1" }, { label: "ClientId2", value: "ClientName2" } ]

私が現在使用しているjqueryは次のとおりです。

$(function () {
var availableTags = [ " & ClientCsv() & " ]; $('#tags').autocomplete({ source: availableTags});
});

フォームコード:

<asp:TextBox ID="tags" runat="server"></asp:TextBox>
<asp:HiddenField ID="cId" runat="server" />

助けてくれてありがとう。

4

1 に答える 1

2

オートコンプリートの選択イベントを接続してから、検索フィールドに値を入力するデフォルトのアクションを防止する必要があります。

var availableTags = [{ label: "ClientId1", value: "ClientName1" }, { label: "ClientId2", value: "ClientName2"}];

$(function () {
    var txt = $('#tags');
    txt.autocomplete({ 
        source: availableTags,
        select: function(event, ui){
            //put the label in your text field
            txt.val(ui.item.label);

            //put the value in your hidden field
            $('#cId').val(ui.item.value);

            //cancel the event to prevent it populating the value
            event.preventDefault();
        }
    });
});
于 2012-05-02T14:09:18.973 に答える