0

select2 の使用を開始したばかりで、次を使用して 2 つのフィールドで選択を埋めると正常に動作します。

    function formatemp(item) { return  item.empnum + " : " + item.empname; }

$("#empsDropDown").select2({
     data:{ results: <?PHP echo json_encode($employees);?>, text: 'empname'},
     placeholder: " <?PHP echo lang("All");?> ",
     minimumInputLength: 2,
     allowClear: true,
     id: function(obj) {return obj.empnum;  },
     formatResult: formatemp,
     formatSelection: formatemp
 });

の形式で表示します。

001 : ブログ

検索は、

text: 'empname'

少し。そのため、名前のみを検索します。検索ボックスに「B」と入力すると、Blog などをフィルタリングして検索します。ただし、検索ボックスに「0」と入力すると、結果は返されません。

両方のフィールド (empname と empnum) を検索する方法はありますか?

私はselect2を初めて使用するので、これがまだ試したことのない明らかなものであることを願っています。

私は試してみまし text: 'empname' + 'empnum'text: 'empname', text: 'empnum'

とりわけ、ドキュメントとこのサイトを検索しましたが、両方ではなく、どちらか一方のみで検索できるようです。カスタムマッチャーも試しましたが、それも目的に合わないようです。

4

1 に答える 1

1

力ずくで解決策を見つけました。誰かが何か良い解決策を持っているなら、私は喜んで耳を傾けます。

 function formatemp(item) { return  item.empnum + " : " + item.empname; }

    $("#empsDropDown").select2({
         data:{ results: <?PHP echo json_encode($employees);?>, text: formatemp},
         placeholder: " <?PHP echo lang("All");?> ",
         minimumInputLength: 2,
         allowClear: true,
         id: function(obj) {return obj.empnum;  },
         formatResult: formatemp,
         formatSelection: formatemp
     });

リストに入力するために使用していたフォーマッター関数に置き換えtext: 'empname'ました。text: formatempうまくいくとは思っていませんでしたが、本当にうまくいきました。

于 2013-09-27T13:53:09.103 に答える