【问题标题】:Select2: how to add a link instead of "No results found" text?Select2:如何添加链接而不是“未找到结果”文本?
【发布时间】:2016-06-13 19:22:28
【问题描述】:

以下是我的代码:

$('#cow_id_2').select2({
        allowClear: true,
        placeholder: "Search a cow/dam ID",
        formatNoMatches: function (term) {
            return "<a href=/'http://google.com/'>Add</a>";
        }
    });

当我尝试添加链接时,插件停止工作。 我用的是Select2 4.0.3版本

【问题讨论】:

    标签: jquery-select2 select2 jquery-select2-4


    【解决方案1】:

    如果您使用的是版本 4 或更新的 select2,请尝试以下操作:

    $('#cow_id_2').select2({
            allowClear: true,
            escapeMarkup: function (markup) { return markup; },
            placeholder: "Search a cow/dam ID",
            language: {
                noResults: function () {
                     return "<a href=/'http://google.com/'>Add</a>";
                }
            }
        });
    

    【讨论】:

      【解决方案2】:

      选择的答案是正确的。这里有点精确。您可以在noResults 方法中返回一个jQuery 对象,而不是覆盖escapeMarkup。像这样:

      $('#cow_id_2').select2({
          allowClear: true,
          placeholder: "Search a cow/dam ID",
          language: {
              noResults: function () {
                  return $("<a href='http://google.com/'>Add</a>");
              }
          }
      });
      

      【讨论】:

      • 如果我也想设置语言怎么办。如果我按照此处提到的方式使用语言属性,我可以获得自定义无结果元素,但 select2 不会考虑我之前在语言属性中作为语言传递的当前用户语言:“fr”。如果没有结果,我需要能够添加一个按钮,但还要保留其他文本的翻译,例如“请输入 2 个或更多字符”。
      猜你喜欢
      • 1970-01-01
      • 2017-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-01
      • 2015-06-25
      • 2016-10-30
      • 1970-01-01
      相关资源
      最近更新 更多