У нас есть последняя версия select2 и мы используем ее на многих страницах.У нас есть одна страница, где вы выбираете клиента, а затем следующая страница select2 заполняется его свойствами.
Если у них есть только 1 свойство, оно выбирает его автоматически.
Он по-прежнему отлично работает на рабочем столе, но если вы используете его на ipad или мобильном устройстве, он не позволит вам выбрать свойство, если есть только 1 (Это позволит вам, если есть более одного результата)он также показывает заголовок раскрывающегося списка и первый выбранный элемент на мобильном телефоне, но не на рабочем столе и т. д.
Все началось, когда мы обновились до последней версии Bootstrap4.
Вот JS:
customerSelector.select2({
theme: 'bootstrap4'
});
customerSelector.change(function () {
$('.select2-selection__rendered').removeAttr('title');
var id = $(this).val();
$.post('/customers/getAssetsList', {id: id}, function (r) {
var assetSelector = $("#asset");
assetSelector.html(r.html);
assetSelector.change();
assetSelector.trigger('change');
if (assetSelector.children('option').length === 2) {
$('#asset option:eq(1)').attr('selected', 'selected');
}
var contractSelector = $("#contract");
contractSelector.html(r.html2);
contractSelector.change();
//contractSelector.trigger('change');
$('#services option').prop('selected', false).change();
$("#services").select2();
$('.select2-selection__rendered').removeAttr('title');
}, "json");
return false;
});
/*
assetSelector.select2({
theme:'bootstrap4',
minimumResultsForSearch: 10
});
*/
assetSelector.change(function () {
$('.select2-selection__rendered').removeAttr('title');
var id = $(this).val();
$.post('/customers/getAssetSrvFullList', {id: id}, function (r) {
$('.select2-selection__rendered').removeAttr('title');
var contract = $("#contract").val();
if (contract == 0) {
var lineid = parseInt($('#invtbl tr.invline:last').attr('id')) + 1;
$('#invtbl').find('.invline').each(function () {
if ($(this).attr("id") != 0) $("#" + $(this).attr("id")).empty().remove();
});
for (key in r.srv) {
lineid++;
var customid = $("#customer").val();
$.post('/finances/invoices/newLinePriceOnly', {
id: lineid,
customer: customid,
srv: r.srv[key],
bs4: 1
}, function (r) {
$('#invtbl tr.invline:last').after(r.line);
$('.qty').trigger("keyup");
}, "json");
}
}
$("#location").val(r.loc);
$("#propnotes").val(r.notes);
autosize.update($("#location"));
autosize.update($("#propnotes"));
$('.select2-selection__rendered').removeAttr('title');
}, "json");
return false;
});