0

私はjqueryを初めて使用し、アイテムがすでに選択されていると、リストを除外するように割り当てられました。オートコンプリートを使用する 3 つのテキスト ボックスがあります。

ソース: アップル、オレンジ、マンゴー

textbox 1 = リンゴ textbox 2 = リンゴはリストから除外する必要があります。オレンジとマンゴーのみを表示する必要があります。

ソースをフィルタリングできましたが、リストにはまだ項目が表示されています。ただし、ページを更新するとソースが更新されます。私はこの質問を見つけました。ここにリンクがありますが、私の場合、追加するのではなく、除外したかったのです。

どんな助けでも大歓迎です。

ありがとう!ゼル

4

2 に答える 2

1

私がすること...最初のテキストボックスの値をサーバーに戻します(オートコンプリートごとに逆も同様です)

このようなことを試すことができます。

JQuery

$('#auto2_id').autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: 'some_url/SomeAction',
                    dataType: "json",
                    data: {
                        term: request.term,
                        filter: $('#auto1_id').val()
                    },
                    success: function (data) {
                        //do something
                    }
                })
            }
        });

サーバー側 (使用している言語はわかりませんが、c# で (大まかなコード サンプル))

public ActionResult SomeAction(string term, string filter)
{
  var data = _repo.GetAllCached().Where(o => o.Text != filter && o.Text.Contains(term));
  return Json(data , JsonRequestBehavior.AllowGet);
}
于 2012-08-13T08:21:46.510 に答える
0

テキストボックスが変更されたイベントごとに、その項目をリストから削除し、(プラグインから) 関数を呼び出す必要があります。3 つの関数すべてを一度に呼び出していたに違いありません。

于 2012-08-13T08:07:49.180 に答える