【问题标题】:Select2 custom meessage doesn't workSelect2 自定义消息不起作用
【发布时间】:2016-06-21 10:04:31
【问题描述】:

当没有找到结果时,我正在尝试创建一个链接以创建新对象。我正在使用 Rails 4。我已经包含了 gem gem "select2-rails",在 application.js 中添加了 //= require select2

*= require select2
*= require select2-bootstrap

在 application.js 中。这是我的咖啡脚本,它应该可以正常工作(ajax 工作良好),但函数 formatNoMatches 似乎什么也没做。

$('#invoice_client_id').select2
    theme: 'bootstrap'
    formatNoMatches: (term) ->
      return "<a href='#' onclick='alert('" + term + "');'" + "id='newClient'>Add New Client</a>";
    ajax:
      url: '/clients.json'
      dataType: 'json'
      processResults: (data) ->
        return {
        results: $.map(data, (client, i) ->
          {
            id: client.id
            text: client.name
          }
       )}

我在文档中发现没有提到 formatNoMatches,但在很多用户示例中,它被用来做同样的事情 like here.

编辑

根本不显示链接或自定义文本。

【问题讨论】:

  • 链接是否出现但不起作用或根本不出现?您使用的是哪个版本的 Select2?
  • @JawadKhawaja 根本没有出现。我正在使用 Select2 4.0.3

标签: ruby-on-rails coffeescript jquery-select2 select2


【解决方案1】:

我环顾四周,发现在 4.0+ 版本中是这样做的。

$('select').select2
    language:
        noResults: ->
             return "<a href='http://google.com'>Add</a>";

    escapeMarkup: (markup) ->
        return markup;

让我知道这是否适合你!

【讨论】:

  • 谢谢,它正在工作。你能告诉我你在哪里找到这个解决方案吗?也许你也知道返回这个链接后如何调用一个函数?我有一个函数可以编辑某些链接的行为以在窗口中打开它们,但是我需要在创建 html 对象后调用此函数。
  • 关于使用函数,也许你可以检查插件是否提供回调。我得调查一下。
  • 如果您没有找到任何回调,您可以尝试在noResults 函数中的return 行上方的setTimeOut(your_function_call(), 5000) 模拟5 秒的延迟。如果可行,您的函数将在链接添加到 DOM 后执行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-18
  • 1970-01-01
  • 2019-07-22
  • 1970-01-01
  • 2014-10-25
  • 2013-05-15
  • 2016-11-20
相关资源
最近更新 更多