QuarkChain adlı üyeden alıntı: mesajı görüntüle
Rica ederim.
Evet basit denemeler yaparak jQuery'i geliştirebilirsiniz.
Zaten temel javascript bilginiz vardır.

$("select[name=vardiya_turu]").change(function(){ }); // örneğin select tetikliyor
kendi projenizde değilde denemeleri boş html sayfalarında yaparsanız daha hızlı ilerlersiniz.
Yani yazılım dediğimiz olay basit değil, motivasyon, zaman, akıl, fikir, güç ve kuvvet gerekiyor
Kolay gelsin
Takıldığını yerde konu açıp veya post atın yardımcı oluruz.
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;
}