Javascript - 更改 select2 中的字符

Posted

技术标签:

【中文标题】Javascript - 更改 select2 中的字符【英文标题】:Javascript - Change character in select2 【发布时间】:2017-04-25 03:56:53 【问题描述】:

我正在使用 select2 来选择不同的地区和不同的国家。我想要在 Select2 中使用一些方法来更改特定字符,然后再用数据检查它。这是我的初始代码:

var initSearchSelect2 = function (className) 
    $(className).select2(
        language: "en",
        allowClear: true,
        data: [
            
                id: 1,
                text: 'All regions',
                parent: 0,
                children: $scope.regions // here is my data
            
        ],
        escapeMarkup: function (m) 
            return m;
        ,
        initSelection: function (element, callback) 
            var userNeighborhood = $cookies.get("neighborhood");
            if (!isUndefinedOrNull(userNeighborhood)) 
                userNeighborhood = userNeighborhood.split(',');
                var initialVal = 
                    'city': userNeighborhood[0],
                    'text': userNeighborhood[1],
                    
                callback(initialVal);

            
            else 
                callback(id: 0, text: 'check it')
            
        ,
        placeholder: "select your region ..."
    , true);

我想检查用户是否搜索“伦敦”,我在 $scope.regions 中检查“英格兰”而不是“伦敦”。我曾经像这样在 select2 中检查查询和匹配器:

query: function(options) 
    console.log(options);
    if(options.term) 
        options.term = options.term.replace('London','England');
    

    return options
,

但是我没有得到任何有趣的结果。有什么建议可以解决吗?

【问题讨论】:

【参考方案1】:

您可以覆盖数据方法:

$ajax.select2(
    ajax: 
      url: "https://api.github.com/search/repositories",
      dataType: 'json',
      delay: 250,
      data: function (params) 
        return 
          q: 'test', //put your replacement here
          page: params.page
        ;
      
    
);

实时示例here。无论你输入什么“测试”都会一直发送到服务器。

【讨论】:

以上是关于Javascript - 更改 select2 中的字符的主要内容,如果未能解决你的问题,请参考以下文章

如何修改此 Select2 javascript 以启用分页?

Select2 更改事件 - 在第一个 select2 框值更改时更改下一个 select2 框的选项

如何以编程方式更改 select2 值

单击某些按钮后select2中的动态选项

在 jquery select2 中更改文本“搜索”

如何更改 Select2 框中文本的填充