0

私はselect2に苦労しています。

json を返す ajax 呼び出しがあります。json はそのようにフォーマットされています (サーバーから):

 public function get_groups() 
    {
        $result = array();

        $sql = "SELECT * FROM auth_groups ";

        foreach ($this->db->query($sql)->result() as $row){
            $tmp = array("id" => $row->id ,"label" => $row->name );
            array_push($result, $tmp);
        }

        header('Content-type: application/json');
        echo json_encode($result);
    }

それから私のjavascriptから私は持っています:

$('#group_choice').select2({
            minimumInputLength: 2,
            ajax: {
                url: "/bonsejour/extranet/ajax/resources/get_groups",
                dataType: 'json',
                data: function (term, page) {
                    return {
                        term:term
                    };
                 },
                  results: function (data, page) {
                  var results = [];
                  $.each(data, function(index, item)
                  {
                    results.push({id:item.ID, text:item.label});
                  });

                  return {
                      results: results
                  };
                }
            }
        });

#group_choice は入力テキストです。

入力ボックス内にテキストを入力すると、json からのすべての要素が表示されます。しかし、要素を選択しようとしても何も起こりません。入力内の要素を選択するにはどうすればよいですか?

ありがとう

4

2 に答える 2

0

Select2 Ajax Method Not Selecting を参照してください。

そして正しい値を取ります:

id: function(data){return {id: data.id};},

また

id: function(data){return data.id}
于 2014-03-19T14:08:10.190 に答える
0

http://ivaynberg.github.io/select2/#documentationを参照してください

formatSelection: formatSelectionMethod、

function formatSelectionMethod(row) { return row.text;}

お役に立てば幸いです。

于 2013-07-26T09:12:02.593 に答える