Berikut cara menggunakan select2 dan menampilkan dengan tampilan multi column
Pertama tambahkan script ini di dalam <head></head>
\<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.0/select2.min.css" rel="stylesheet"/><script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script><link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/><script src="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.0/select2.min.js"></script>
CSS :
\\body{background-color: #455A64;}#multiWrapper {width: 300px;margin: 25px 0 0 25px;}.def-cursor {cursor: default;}
HTML :
\\<div id='multiWrapper'><select id="multi"><optgroup class='def-cursor' label='Country' data-city='City'><option data-city="" id="1"> </option><option data-city="Athens" id="1">Greece</option><option data-city="Rome" id="2">Italy</option><option data-city="Paris" id="3">France</option></optgroup></select></div>
Javascript :
\\function formatResultMulti(data) {var city = $(data.element).data('city');var classAttr = $(data.element).attr('class');var hasClass = typeof classAttr != 'undefined';classAttr = hasClass ? ' ' + classAttr : '';var $result = $('<div class="row">' +'<div class="col-md-6 col-xs-6' + classAttr + '">' + data.text + '</div>' +'<div class="col-md-6 col-xs-6' + classAttr + '">' + city + '</div>' +'</div>');return $result;}$(function() {$('#multi').select2({width: '100%',formatResult: formatResultMulti});})
Terima kasih. Selamat Mencoba
Select2 adalah library jQuery yang menggantikan elemen select biasa dengan fitur pencarian, tagging, dan multi-select yang lebih powerful. Untuk menggunakan fitur multi column, kamu perlu menginstall Select2 terlebih dahulu:
<!-- CSS Select2 --> <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet" /> <!-- JS Select2 --> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script> Untuk menampilkan multiple kolom dalam dropdown Select2, kamu perlu menggunakan template custom:
$('#mySelect').select2({ templateResult: function(data) { if (!data.id) return data.text; var row = $('<div class="row">' + '<div class="col-4">' + data.text + '</div>' + '<div class="col-4">' + data.element.dataset.info + '</div>' + '<div class="col-4">' + data.element.dataset.status + '</div>' + '</div>'); return row; }, templateSelection: function(data) { return data.text; } }); Berikut contoh lengkap Select2 dengan multi column untuk menampilkan data produk:
<select id="productSelect" style="width: 100%">
<option value="1" data-price="Rp 100.000" data-stock="Tersedia">Produk A</option>
<option value="2" data-price="Rp 200.000" data-stock="Habis">Produk B</option>
</select>
<script>
$('#productSelect').select2({
templateResult: function(data) {
if (!data.id) return data.text;
return $('<div style="display:flex; gap:20px">' +
'<span style="width:200px">' + data.text + '</span>' +
'<span style="width:150px; color:green">' + $(data.element).data('price') + '</span>' +
'<span style="width:100px">' + $(data.element).data('stock') + '</span>' +
'</div>');
}
});
</script>