select2单个字段的默认值

时间:2014-02-18 09:33:48

标签: jquery-select2

我正在为我的项目使用Jquery Select2。我想在加载页面时在单个输入字段中保留默认值。我在启动select2组件时设置了initSelection,尝试了这个。

   $(document).ready(function() { 
        allowClear: true,
        ajax: { // instead of writing the function to execute the request we use Select2's convenient helper
            dataType: 'json',
            url: "public/data.php",
            data: function (term, page) {
                return {
                    q: term, // search term
                    component: "map",
                    all_selected: $("#map-all").hasClass("active"),
                    parent_value: $("#city").val(),
                    child_value: ""
                };
            },
            results: function (data, page) { // parse the results into the format expected by Select2.
                // since we are using custom formatting functions we do not need to alter remote JSON data
                return {results: data};
            }
        },
        initSelection: function(element, callback) {
            return $.getJSON("public/data.php?q="+element.val()+"&component=map&all_selected=false&parent_value=&child_value=", null, function(data) {
              if ($.isFunction(callback)) {
                return callback(data);
              }
            });
        },
        formatSelection: format,
        formatResult: format,
});

然而,这不应该是应该的。

但是,当我将multiple: true,作为select2选项时,这非常有效。我如何为单个隐藏字段执行此操作?

谢谢&此致!

1 个答案:

答案 0 :(得分:1)

好的,我通过将回调从return callback(data);更改为return callback(data[0]);来解决了这个问题。我认为这背后的原因是因为该字段不是多字段,它只接受回调函数的单个对象。