0
Iam은 현재 select2 jquery plugin을 사용하여 ajax 호출에서 동적으로 채워진 목록에서 데이터를 선택합니다. 사용자가 모두 선택 버튼을 사용하여 한 번에 모든 옵션을 선택할 수 있도록 모든 기능을 선택하도록 구현해야합니다. 이 예제를 jsfidde에 구현하려고했습니다. ajax 검색으로 구성된 select2 jquery 플러그인으로 모든 기능을 선택하는 방법은 무엇입니까?
Click here to see the jsfiddle
그러나 항목의 더 많은 수의 목록을 선택
500 items.It 브라우저가 잠시 중지하게 말한다. 성능 문제없이 구현하려면 더 나은 방법을 제안하십시오.$.fn.select2.amd.require([
'select2/utils',
'select2/dropdown',
'select2/dropdown/attachBody'
], function (Utils, Dropdown, AttachBody) {
function SelectAll() { }
SelectAll.prototype.render = function (decorated) {
var $rendered = decorated.call(this);
var self = this;
var $selectAll = $(
'<button type="button">Select All</button>'
);
$rendered.find('.select2-dropdown').prepend($selectAll);
$selectAll.on('click', function (e) {
var $results = $rendered.find('.select2-results__option[aria-selected=false]');
// Get all results that aren't selected
$results.each(function() {
var $result = $(this);
// Get the data object for it
var data = $result.data('data');
// Trigger the select event
self.trigger('select', {
data: data
});
});
self.trigger('close');
});
return $rendered;
}};
$("select").select2({
placeholder: "Select Option(s)...",
dropdownAdapter: Utils.Decorate(
Utils.Decorate(
Dropdown,
AttachBody
),
SelectAll
),
});
});
네,하지만 그는 잘 작동한다고 말하지만 우리가 500 개 이상의 항목을 선택하면 브라우저가 멈추게됩니다. – rish
@Parth 아니요, 브라우저에서 select 요소가 많은 요소를 모두 선택하지 않을 것임을 확인해야합니다. – albert
@albert에 대해서는 select all에 대해 하나의 체크 박스를 넣을 수 있습니다. select는 선택을 해제하고 숨겨진 모든 값을 가져옵니다. 쉼표로 구분 된 필드. – Parth