Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Select2-使用自定义模板时未显示占位符_Javascript_Select2 - Fatal编程技术网

Javascript Select2-使用自定义模板时未显示占位符

Javascript Select2-使用自定义模板时未显示占位符,javascript,select2,Javascript,Select2,我已初始化select2: $("#myInput").select2({ ajax: { url: /url/to/get', dataType: 'json', delay: 250, data: function(params) { return { code: params.term }; }, processResults: function(data) {

我已初始化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;
}
函数格式结果(repo){
如果(repo==null)返回“”;
if(回购加载)返回回购概要;
var标记=”;
标记+=“”;
加价+=回购城市+“”;
标记+=“”;
标记+=repo.postCode+,“+repo.voivodeship;
标记+=“”;
返回标记;
}
功能格式选择(邮政编码){
如果(邮政编码==null)返回“”;
返回postCode.postCode;
}

我应该在模板中放入某个内容吗?

如果您使用的是v4,则需要使用
而不是
将您的select2绑定到

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

@nopeflow它是否有一个空的
来绑定占位符?嗯。。。那可能是个问题!但是为什么没有空的选项和模板它就可以工作呢?我不确定。但我试着让事情符合他们的规格,因为我有问题,而我没有。我也有同样的问题。