Select2-带有外部链接的选项项目中的自定义输入字段

问题描述

如何在单击select2输入字段中的图标后将外部链接设置为打开 如果项目列表已打开,则单击链接无效,仅事件select2:select。 如果所选项目已经存在,则单击链接将打开一个新窗口,但也会打开一个项目列表,这是不希望的。

HTML

<div id="my_GEIS_div" class="container_form">
    <select id="geis_select_form" data-id_carrier="3" class="branches">
            <option value=""></option>
    </select></div>

JS

    var search;
    var instance = new Mark(".select2-results");
    var select_form = $("#geis_select_form");
    var text_placeholder = 'Select .....';

    select_form.select2({
        ajax: {
            url: 'ajax.php',dataType: "json",delay: 250,data: function (params) {
                search = params.term;
                return {
                    action: 'getBranches',q: params.term,page: params.page,country: 'CZ',limit: 30
                };
            },processResults: function (data,params) {
                params.page = params.page || 0;

                if(document.getElementById("count_GEIS") !== null)
                    $('#count_GEIS').html('('+ data.total_count +')');
                else
                    $('span .select2-search--dropdown').append('<span id="count_GEIS">('+ data.total_count +')</span>');

                return {
                    results: $.map(data.branches,function (item) {
                        return {
                            id: item.id,idGP: item.idGP,name: item.name,city: item.city,street: item.street,postcode: item.postcode,phone: item.phone,mapUrl: item.mapUrl
                        }
                    }),pagination: {
                      more: (params.page * 30) < data.total_count
                    }
                };
            },complete: function () {
                if (search !== undefined) {
                    setTimeout(function () {
                        instance.mark(search);
                    },100);
                }
            }
        },width: '98%',templateResult: function (data) {
            return self.selectTemplate(data);
        },templateSelection: function (data) {

            if (!data || data.id === '') {
                    return text_placeholder;
            }

            return selectTemplate(data);
        }
    })
    .on({
        'select2:select': function (e) {
            //save data ......
        }
    });

这是一个可行的示例:

https://jsfiddle.net/Milousek/gjvphcox/

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...