简体   繁体   English

无法从Select2中选择任何项目

[英]Can not select any item from Select2

I'm using Select2 with customFormatResult as this code show: 我将Select2与customFormatResult一起使用,如以下代码所示:

function productFormatResult(product) {
    var markup = '<div class="row-fluid">' +
            '<div class="col-xs-2"><img src="' + product.url + '" /></div>' +
            '<div class="col-xs-10">' + product.value + '</div>' +
            '</div>';
    var prueba = '<img style="height: 40px;width: 40px;" src="' +
            product.url + '" class="img-rounded" id="ProductoForm_0_image" />&nbsp;&nbsp;' + product.value;

    return prueba;
}

function productFormatSelection(product) {
    return product.value;
}

$("input.typeahead").select2({
    placeholder: "Buscar producto",
    minimumInputLength: 0,
    ajax: {
        url: Routing.generate('get_products'),
        dataType: 'json',
        quietMillis: 250,
        data: function(term, page) {
            return {
                filter: term,
                page: page
            };
        },
        results: function(data, page) {
            var more = (page * 30) < data.total_count;
            return {results: data.items, more: more};
        }
    },
    formatResult: productFormatResult,
    formatSelection: productFormatSelection,
    escapeMarkup: function(m) {
        return m;
    },
    formatNoResults: function() {
        return "No se encontraron productos para la palabra actual";
    },
    formatAjaxError: function() {
        return "No hay conexión con el servidor";
    }
});

But I can choose/select any item from select when they are showed, why? 但是我可以在显示时从选择中选择/选择任何项目,为什么? What's wrong in my code? 我的代码有什么问题? You can test live example here (look for this text OFERTAS REALIZADAS A FACTURAR: where says Producto ) 您可以在此处测试实时示例(查找此文本OFERTAS REALIZADAS A FACTURAR:其中表示Producto

You need return id. 您需要返回ID。

$("input.typeahead").select2({
    id: function(prod) { return prod.value; },
    placeholder: "Buscar producto",
    minimumInputLength: 0,
    id: function(prod){ return "prod"; },
    ajax: {
        url: Routing.generate('get_products'),
        dataType: 'json',
        quietMillis: 250,
        data: function(term, page) {
            return {
                filter: term,
                page: page
            };
        },
        results: function(data, page) {
            var more = (page * 30) < data.total_count;
            return {results: data.items, more: more};
        }
    },
    formatResult: productFormatResult,
    formatSelection: productFormatSelection,
    escapeMarkup: function(m) {
        return m;
    },
    formatNoResults: function() {
        return "No se encontraron productos para la palabra actual";
    },
    formatAjaxError: function() {
        return "No hay conexión con el servidor";
    }
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM