javascript - Select2 - 使用自定义模板时不显示占位符

标签 javascript jquery-select2

我已经初始化了一个 select2:

$("#myInput").select2({
    ajax: {
    url: /url/to/get',
    dataType: 'json',
    delay: 250,
    data: function(params) {
        return {
            code: params.term
        };
    },
    processResults: function(data) {
        return {
            results: data
        };
    },
    cache: true
    },
    escapeMarkup: function (markup) { return markup; },
    templateResult: formatResult,
    templateSelection: formatSelection,
    minimumInputLength: 1,
    allowClear: true,
    placeholder: 'Select data'
});

不幸的是,空值的占位符不显示。

当删除结果的自定义模板时:

$("#myInput").select2({
    ajax: {
    url: /url/to/get',
    dataType: 'json',
    delay: 250,
    data: function(params) {
        return {
            code: params.term
        };
    },
    processResults: function(data) {
        return {
            results: data
        };
    },
    cache: true
    },
    minimumInputLength: 1,
    allowClear: true,
    placeholder: 'Select data'
});

这是我的模板:

function formatResult(repo) {
    if (repo == null) return "";

    if (repo.loading) return repo.brief;

    var markup = "<div class='clearfix' style='padding-top: 4px; padding-bottom: 3px; '>";
    markup += "<div style='color: black; font-size:12px; font-weight: bold; word-wrap: break-word; line-height: 0.9; margin-bottom: 4px; '>";
    markup += repo.city + "</div>";

    markup += "<div style='font-size: 9px; color: #777; margin-top: 4px;'>";
    markup += repo.postCode + ", " + repo.voivodeship;
    markup += "</div></div>";

    return markup;
}

function formatSelection(postCode) {
    if (postCode == null) return "";
    return postCode.postCode;
}

我应该在模板中添加某些内容吗?

最佳答案

如果您使用的是 v4,则需要使用 <select ></select>而不是<input>将您的 select2 绑定(bind)到。

在 v4 中使用输入元素会导致一些问题,因为不再支持输入。 我相信我也遇到过类似的问题,一旦我将输入元素更改为选择元素,一切都会变得很好。

关于javascript - Select2 - 使用自定义模板时不显示占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37078286/

相关文章:

javascript - 从asp :LinkButton's CommandArgument attribute using jquery/javascript获取值

css - 我可以使用两个溢出属性吗?

javascript - 我想给 jquery 内置函数指定别名

javascript - 具有固定列的子行(显示额外/详细信息)

javascript - 如何从asp.net后面的代码中获取Select2值

jquery - 如何避免 bootstrap 的 select2() 插件中出现重复条目

javascript - Select2 - 输入时启动 ajax 搜索

javascript - Angular 1.2升级后Angular UI-Select下拉值问题

javascript - 返回一个 promise 抛出错误的 Promise

javascript - THREE.js:跨源资源共享策略拒绝跨源图像加载