jquery select2返回json结果名称

时间:2017-01-31 02:29:17

标签: jquery-select2

我是jquery select2的新手,结果返回id,文本和名称,其中id是value我知道如何使用x$("inputBox").val();获取返回id(值)。但我希望在jquery-select2中获得返回名称。

有没有获得返回名称的方法?

         x$("#{id:city_combo_box}").select2({
            placeholder:"Select City",
            allowClear:true,
            minimuminputLength:2,
            templateResult: formatRepo,
            escapeMarkup: function (markup) {return markup},
            templateSelection: formatRepoSelection,
            multiple:false,
            ajax: {
                url:ajaxurl,
                dataType:"json",
                data: function(params){
                    pp = params.term;
                    return{
                        startKey: pp,
                        page: params.page,
                        count: 10
                    };
                },
                processResults: function (data, params){
                    var k = data.viewentry;
                    console.log(k);
                    params.page = params.page;
                    return {
                        results: $.map(k, function(obj) {   
                        return  {id: (obj.entrydata[1].text[0]), text: obj.entrydata, name: (obj.entrydata[0].text[0])};
                        })
                    };
                }
            }
            }).on("change", function(e){ x$("#{id:claim_limit_text}").val(x$("#{id:city_combo_box}").val(id)); 
            }).trigger("change"); 
})

1 个答案:

答案 0 :(得分:0)

我遇到的唯一解决方案是:

HTML

<div id="ddWrapper1">
  <select id="dd1"></select>
</div>

JS

$(document).ready(function() {
  var ddDate = [{
    id: 1,
    text: 'some item'
  }, {
    id: 2,
    text: 'even more items'
  }, {
    id: 3,
    text: 'oh no'
  }, {
    id: 4,
    text: 'that is a realy long item name...'
  }];

  $('#dd1').select2({
    data: ddDate,
    allowClear: true,
    multiple: true,
    placeholder: '[dd1] select some items'
  });

  $('#dd1').on('change', function() {
    console.log($('#dd1').data('select2').$selection[0].innerText);
    })
});

但我不得不承认结果并不是最好的。