v2.5.2
Giriş yap

Select2 Gruplama

hersoy
914 defa görüntülendi

Select2 içerisinde nasıl gruplama yapabilirim. Option group olmuyor çünkü değerler ajax ile json formatında geliyor.

<b>Alıcılar</b>
Ahmet
Mehmet
Hasan
<b>Satıcılar</b>
Huseyin
Mehmet
Osman

<div class="col-sm-12 col-md-3">

<label>Yolcu Tedarikçisi</label>

<select class="form-control form-control-sm select2-hidden-accessible inputyukseklik" style="width: 100%;" id="yolcu_tedarikci_id" name="yolcu_tedarikci_id"> <option>Seçilmedi</option>

</select>

</div>

//CARİ ÇEK ANLIK OLARAK VERİTABANINDAN ÇEKİLİR

$(".yolcu_tedarikci_id").select2({

placeholder: 'Seçiniz',

ajax: {

url: 'ajax/cari_cek.php',

dataType: 'json',

delay: 250,

processResults: function (data) {

return {

results: data

};

},

cache: true

}

});

//Carileri select2 ye çektiğim kod aşağıdaki gibidir

<?php

define("include",true);

require_once '../_fonksiyon.php';

$numberofrecords = 20;

if(!isset($_GET['q'])){

// Fetch records

$sql = $db->prepare("SELECT cari_id, cari_adi FROM tbl_cari WHERE sirket_id =? AND cari_durum=1 ORDER BY cari_tipi,cari_adi LIMIT ?"); $sql->execute(array($_SESSION["sirket_id"], $numberofrecords));

$usersList = $sql->fetchAll();

}else{

$search = $_GET['q'];// Search text

$sql = $db->prepare("SELECT * FROM tbl_cari WHERE sirket_id =? AND cari_adi like ? AND cari_durum=1 ORDER BY cari_tipi,cari_adi LIMIT ?"); $sql->execute(array($_SESSION["sirket_id"], '%'.$search.'%', $numberofrecords));

$usersList = $sql->fetchAll();

}

$json = [];

$json[] = ['id'=>'00000'.$_SESSION['sirket_id'], 'text'=>sirket_adi_bul($_SESSION['sirket_id'])];

foreach($usersList as $user){

$json[] = ['id'=>$user['cari_id'], 'text'=>$user['cari_adi']];

}

echo json_encode($json);

exit();

?>

Cevap yaz
Cevaplar (1)
buraksuluk
1541 gün önce

veriyi çekip json çevirirken gruplama yapabilirsin.Tabi veritanında grup isminde bir kolonun olması
gerekli.

{
"results": [
{ 
  "text": "Grup İsmi", 
  "children" : [
    {
        "cari_id": 1,
        "cari_adi": "Option 1.1"
    },
    {
        "cari_id": 2,
        "cari_adi": "Option 1.2"
    }
  ]
}

],
"pagination": {

"more": true

}
}