Arkadaşlar merhabalar,
Projemde Select2 plug-in ini kullanmaya çalışıyorum.
https://select2.org/data-sources/ajax sayfasından ve internetteki kaynaklardan çalışır bir form yaptım. Sonuçlar da sağlıklı bir şekilde geliyor. Ama bir türlü seçilen satırın id sini yazdıramadım.
JQUERY
$(document).ready(function() {
$(".ilac-ara").select2({
language: "tr",
minimumInputLength: 3,
ajax: {
url: "/ajax/testAra",
dataType: 'json',
delay: 250,
data: function (params) {
return {
q: params.term // search term
};
},
processResults: function (data) {
return {
results: $.map(data, function(obj) {
return { id: obj.id, text: obj.text };
})
};
},
cache: true
}
});
});HTML FORM
<select class="ilac-ara form-control"></select>
PHP AJAX
$aranan = strip_tags(trim($_GET['q']));
$query = $COnnDB->prepare("SELECT * FROM ilaclar WHERE ilacAdi LIKE :aranan ORDER BY ilacAdi ASC");
$query->execute(array(':aranan'=>"%".$aranan."%"));
$list = $query->fetchall(PDO::FETCH_ASSOC);
if(count($list) > 0):
foreach ($list as $key => $value) :
$data[] = array('id' => $value['id'], 'text' => $value['ilacAdi']);
endforeach;
else:
$data[] = array('id' => '0', 'text' => 'İlaç bulunamadı');
endif;
echo json_encode($data);Gelen Sonuç (Ventolin kelimesi arandığında)
[
{"id":"1","text":"VENTOLIN 150 ML SURUP"},
{"id":"2","text":"VENTOLIN 2 MG.100 TB."},
{"id":"3","text":"VENTOLIN 4 MG.100 TB."},
{"id":"4","text":"VENTOLIN INHALER 200 DOZ"},
{"id":"5","text":"VENTOLIN NEBULES 20 NEBUL"}
]Yani arama listesi çalışıyor, sonuçlar da geliyor, ama bir türlü gelen sonuçların arasından bir tanesini seçip, seçilenin id sini yazdıramadım.
Yani açılır listede Ventolin yazdık sonuç listelendi, listeden bir tane seçtik, o seçilen sabitleniyor, ancak seçilen değer tek başına yazılmıyor.
Bu seçileni, bir şekilde tespit etmem, kaydetmem, yazdırmam mümkün mü? İllaki select option selected şeklinde olması şart değil, input hidden da yazdırsam olur.
Şimdiden destekleriniz için çok teşekkürler.