Merhaba jquery kurcaladım bayağı fakat bir yerde yine takıldım. Sağ taraftaki personel kutusunu kaldırdım. Yani personeller direk geliyor. Fakat vardiya türü tablosu yaratıp oradan veri çekip dropdown list olarak sıralamaya çalıştım önce sizin koddaki array içindeki vardiya turlerini çekmeye çalıştım. Liste geliyor fakat daha önce bir kayıt varsa o gelmiyor sadece liste geliyor. Birde kayıt yapayım derken patlıyor

Benim bir veritabanından vardiya türlerini seçip liste şeklinde yazdırıp kaydetmem gerekiyor.
var haftalikVeri = ['bos', 'bos', 'bos', 'bos', 'bos', 'bos', 'bos'];
var vardiyaTurleri = {
bos: "Boş",
erken: "Erken",
gec: "Geç"
}
// Haftanın günlerini alalım
var simdikiZaman = new Date();
var haftaNumarasi = simdikiZaman.getWeek();
var haftaninIlkGunu = new Date(simdikiZaman);
haftaninIlkGunu.setDate(simdikiZaman.getDate() - simdikiZaman.getDay() + 1);
var haftaninSonGunu = new Date(haftaninIlkGunu);
haftaninSonGunu.setDate(haftaninIlkGunu.getDate() + 6);
var gunler = ["Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"];
// Vardiya tablosunu güncelleyen fonksiyon
function vardiya_tablosu(personelListesi) {
var table = $("<table>");
var thead = $("<thead>");
var tbody = $("<tbody>");
// Tablo başlıkları
var theadRow = $("<tr>");
theadRow.append("<th>Personel</th>");
for (var i = new Date(haftaninIlkGunu), j = 0; i <= haftaninSonGunu; i.setDate(i.getDate() + 1), j++) {
theadRow.append("<th>" + i.formatDate('d.m.Y') + "<br/>" + gunler[j % 7] + "</th>");
}
thead.append(theadRow);
table.append(thead);
// Her bir personel için satır oluştur
for (var a = 0; a < personelListesi.length; a++) {
var personel = personelListesi[a];
var tbodyRow = $("<tr>").data("id", personel.personel_id);
tbodyRow.append("<td class=\"sutun-personel\">" + personel.adi + "</td>");
for (var i = new Date(haftaninIlkGunu), j = 0; i <= haftaninSonGunu; i.setDate(i.getDate() + 1), j++) {
var vardiyaTuru = "bos";
if (typeof personel.haftalikVeri[i.formatDate("Y-m-d")] != "undefined") {
vardiyaTuru = personel.haftalikVeri[i.formatDate("Y-m-d")];
}
var slug = url_title(vardiyaTuru);
//eklediğim kısım başlangıç
var span = $('<select>');
$.each(vardiyaTurleri, function(val,text){
span.append($('<option value="'+ vardiyaTurleri[vardiyaTuru] + '">' + vardiyaTurleri[vardiyaTuru] + '</option>').val(val).html(text)).click(function () {;
});
// eklediğim kısım sonu
// Span üzerine tıklandığında vardiya turunu değiştir
//yeniVardiyaTuru = toggleVardiyaTuru($(this).text());
//$(this).attr("class", "etiket " + url_title(yeniVardiyaTuru)).text(yeniVardiyaTuru);
//saveVardiyaData();
});
tbodyRow.append($("<td>").data("tarih", i.formatDate("Y-m-d")).append(span));
}
tbody.append(tbodyRow);
}
// --Tabloyu Oluşturuyor
thead.append(theadRow);
table.append(thead);
table.append(tbody);
$(".kutu-tablo table").replaceWith(table);
}
$(document).ready(function () {
getVardiyaData();
});
function getVardiyaData() {
NProgress.configure({ parent: ".kutu-eylem" });
NProgress.start();
$.ajax({
url: "json.php",
type: "GET",
dataType: "json",
data: {
ilk_gun: haftaninIlkGunu.formatDate("Y-m-d 00:00:00"),
son_gun: haftaninSonGunu.formatDate("Y-m-d 23:59:59")
},
success: function (json) {
NProgress.done();
// JSON yanıtını işleme burada
var vardiyadakiler = [];
$.each(json, function(index, personel){
if (personel.vardiya_aktif) {
vardiyadakiler.push(personel);
}
});
vardiya_tablosu(vardiyadakiler);
},
error: function (xhr, status, error) {
// Hata durumlarını burada işleyebilirsiniz
console.error("Hata: " + error);
}
});
}
function toggleVardiyaTuru(tur) {
var yeniTur = null;
if (tur === vardiyaTurleri.bos) {
yeniTur = vardiyaTurleri.erken;
} else if (tur === vardiyaTurleri.erken) {
yeniTur = vardiyaTurleri.gec;
} else if (tur === vardiyaTurleri.gec) {
yeniTur = vardiyaTurleri.bos;
}
return yeniTur;
}