php - 无法从 select2 搜索结果中选择结果

标签 php html json jquery-select2

我正在为我的一个搜索框使用 select2。我正在从我的 URL 中获取结果,但我无法从中选择一个选项。我想使用“product.productName”作为选择后显示的文本。有什么我错过的或我犯的任何错误吗?我包含了 select2.css 和 select2.min.js,jquery.js

  function dataFormatResult(product) {
        var markup = "<table class='product-result'><tr>";

        markup += "<td class='product-info'><div class='product-title'>" +     product.productName + "</div>";
        if (product.manufacturer !== undefined) {
            markup += "<div class='product-synopsis'>" + product.manufacturer + "</div>";
        }
        else if (product.productOptions !== undefined) {
            markup += "<div class='product-synopsis'>" + product.productOptions + "</div>";
        }
        markup += "</td></tr></table>";
        return markup;
    }

    function dataFormatSelection(product) {
        return product.productName;
    }
    $(document).ready(function() {
        $("#e7").select2({
            placeholder: "Search for a product",
            minimumInputLength: 2,
            ajax: {
                url: myURL,
                dataType: 'json',
                data: function(term,page) {
                    return {
                        productname: term 
                    };
                },
                results: function(data,page) { 

                    return {results: data.result_object};
                }
            },
            formatResult: dataFormatResult, 
            formatSelection: dataFormatSelection, 
            dropdownCssClass: "bigdrop", 
            escapeMarkup: function(m) {
                return m;
            } 
        });
    });

这是我的结果对象

"result_object":[{"productName":"samsung galaxy s3","manufacturer":"Samsung","productOptions":"Color;Memory","productOptiondesc":"Silver;32GB"},{"productName":"samsung salaxy s3","manufacturer":"Samsung","productOptions":"Color;Memory","productOptiondesc":"Graphite;32GB"},{"productName":"samsung galaxy s3","manufacturer":"Samsung","productOptions":"Color;Memory","productOptiondesc":"Silver;16GB"}]

最佳答案

您缺少结果数据的 id 属性。如果没有,它使选项“不可选择”。

例子:

            $('#e7').select2({
                    id: function(e) { return e.productName; },
            });

关于php - 无法从 select2 搜索结果中选择结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15933830/

相关文章:

php - 什么会导致 "too many database connections"

html - 在网页的特定部分设置滚动

java - "Could not find acceptable representation"使用 spring-boot-starter-web

json - 从谷歌应用引擎数据存储中检索 json

python - 在 Python 中格式化 JSON 数据

php - 声明类型提示时,PhpStorm是否允许跳过PHPDoc标记?

php - Laravel:如何从查询结果中获取模型?

javascript - 如何在不使用ajax重新加载页面的情况下将javascript值获取到php变量中

javascript - 如何在 Javascript 不可用时显示内容,在 javascript 可用时隐藏它并且在任何一种情况下都不闪烁?

html - Child Div 扩展整个页面