2017-01-31 3 views
1

Я новичок в jquery select2, в результате возвращает id, текст и имя, где id - значение. Я знаю, как получить идентификатор возврата (значение) с x$("inputBox").val();. но я хочу получить имя возврата в jquery-select2.jquery select2 return json result name

Есть ли способ получить имя возврата?

  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"); 
})

ответ

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); 
    }) 
}); 

Но я должен признать, что результат не самый хороший.