问题描述
如何在单击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 (将#修改为@)