【问题标题】:Select2 cannot choose elements inside inputSelect2 无法选择输入内的元素
【发布时间】:2013-06-15 16:49:31
【问题描述】:

我正在为 select2 苦苦挣扎。

我有一个 ajax 调用,它返回一个 json。 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 的所有元素。但是当我尝试选择一个元素时,什么也没有发生。如何选择输入中的元素?

谢谢

【问题讨论】:

    标签: jquery-select2


    【解决方案1】:

    参考http://ivaynberg.github.io/select2/#documentation

    格式选择:格式选择方法,

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

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      请参考Select2 Ajax Method Not Selecting

      并取正确的值:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-18
        • 1970-01-01
        • 2018-07-13
        • 2019-04-19
        • 1970-01-01
        相关资源
        最近更新 更多