0

質問のタイトルがあいまいであることに同意しますが、より良いタイトルが見つかりませんでした。

問題:

    $('[id="SearchSnippetActor"]').autocomplete({
    source: function (request, response) {
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "foo/foo.asmx",
            data: // pass data,
            dataType: "json",
            async: true,
            success: function (data) {
                // do something
                        label: 'blah blah',
                        val: 'blah blah'
                }))
            },                              
        });
    }, select: function (e, i) {    
                   $('#'+e.target.id).val(i.item.val);
                   $('#DisplaySnippetActor').text(i.item.label);
        return false;
    }
});

これらのテキストボックスとラベルのペアがあります。オートコンプリートであるため、テキストボックスで値を選択するたびに、「val」と「label」をラベルに保存しています。

それはうまくいっています。問題は、すべてのペアについて、コード全体をコピーしてテキストボックス/ラベル ID を置き換える必要があるということです。

とにかくセレクターを最適化して、単一の関数を作成する必要がありますか?

ペアの例:

DisplaySnippetType : SearchSnippetType DisplaySnippetText : SearchSnippetText

ありがとう、開発者

4

1 に答える 1

0

id の代わりに class を使用して、すべてに割り当てることができます。何かのようなもの

$('.SearchActorNameClass')...

于 2012-06-23T13:01:54.947 に答える