Select2js从ajax源获取数据

时间:2016-10-19 13:14:09

标签: jquery select2

我在最后一个版本中使用了Select2js。我遇到了问题。我使用Ajax数据源,我需要从源代码获取数据。

这是我的代码:

// call ajax for products
$('.product-select select').select2({
    ajax: {
        url: baseUrl +'/orders/get_products',
        processResults: function (data) {
          return {
            results: data.items
          };
        },
        select: function (data) {
            // do nothing ... 
            console.log(data);
        }
    }
});

$('.product-select select').on('select2:select', function (evt) {
    // try this but evt doesn't contain data
    console.log(evt);
});

我的数据源是:

[{id: 3, text: 'test', id_person: 4}, {id: 5, text: 'oooo', id_person: 5}]

我希望每次选择一行时都会获得id_person字段。

1 个答案:

答案 0 :(得分:0)

你有没有试过这个?

$('.product-select select').select2({
    ajax: {
        url: baseUrl +'/orders/get_products',
        processResults: function (data) {
          return {
                results: $.map(data, function (item) {
                    return {
                        text: item.text,
                        id_person: item.id_person,
                        id: item.id
                    }
                })
          };
        },
        select: function (data) {
            // do nothing ... 
            console.log(data);
        }
    }
});

$('.product-select select').on('select2:select', function (e) {
  console.log(e.params.data.id_person);
});