2016-05-07 12 views
0

Ich habe eine Seite, die Daten von verschiedenen Mitarbeitern erfasst. Eines der Dinge ist, die Ein- und Ausfahrt von ihnen aufzuzeichnen. Ich kann diese Daten mit localStorage aufzeichnen, aber das funktioniert für alle Menschen gleich. Versucht, verschiedene Namen für den localStorage-Artikel zu verwenden, aber es funktioniert nicht, wenn ich den Mitarbeiter ändere. Kann mir jemand dabei helfen? Dies ist der Code für alle die gleiche Arbeit:localStorage mit verschiedenen Personen

var entradasaida = 0; 

entradasaida = localStorage.getItem("entradasaida"); 


if(entradasaida == 0){ 



var time = $('#time').val(); 
var time2 = $('#time2').val(); 
var datetime = new Date(); 
var year = datetime.getFullYear(); 
var month = datetime.getMonth()+1; 
if(month < 10){ 
month = "0"+month 
} 
var day = datetime.getDay()+1; 
if(day < 10){ 
day = "0"+day 
} 
var date = new Date(year+"-"+month+"-"+day+" "+time+":"+time2); 

var mills = date.getTime(); 

var timeE = localStorage.getItem("horas"); 
var time2E = localStorage.getItem("mins"); 

alert(timeE); 

localStorage.setItem("horas", time); 
localStorage.setItem("mins", time2); 
localStorage.setItem("entradasaida",1); 
localStorage.setItem("millsEnt",mills); 

if(timeE != null){ 

$('#horas_button').text("Saida"); 
$('#time, #time2').val(""); 
$('#entrada').text(timeE+":"+time2E); 
} 

} else{ 

var horasEnt = localStorage.getItem("horas"); 
var minsEnt = localStorage.getItem("mins"); 
var entrada = localStorage.getItem("millsEnt"); 

localStorage.setItem("entradasaida",0); 
$('#horas_button').text("Entrada"); 

var time = $('#time').val(); 
var time2 = $('#time2').val(); 
var datetime = new Date(); 

var year = datetime.getFullYear(); 
var month = datetime.getMonth()+1; 
if(month < 10){ 
month = "0"+month 
} 
var day = datetime.getDay()+1; 
if(day < 10){ 
day = "0"+day 
} 
var date1 = new Date(year+"-"+month+"-"+day+" "+time+":"+time2); 


var millssai = date1.getTime(); 
$('#millssai').text(millssai); 

var totMills = (millssai - entrada) 

var horas = time - horasEnt; 
var mins = time2 - minsEnt; 
if(mins < 0){ 
mins = mins*(-1); 
mins = mins.toFixed(2); 
horas = horas-1; 
} 
var totHoras = horas+":"+mins 
$('#totHoras').text(totHoras); 
$('#mills').text(totMills); 
$('#time, #time2').val(""); 
$('#entrada').text(totHoras); 
} 

};

Wenn ich diese Variable var func = $("#func option:selected").text(); hinzufüge und func zu allen lokalen Speicherelementen hinzufüge, vermasselt es alles.

+0

Ich verstehe nicht wirklich, was Ihre Frage ist. Was bedeutet "alles vermasseln"? Was meinst du mit "wenn ich den Angestellten wechsle"? – C14L

+0

Wenn ich 'func' zu allen localStorage Elementen hinzufüge. –

Antwort

0

LÖSUNG Es funktioniert endlich. Hier ist der vollständige Code:

var func= ""; 
    var entradasaida = 0; 


    $("#func").change(function() { 
    func = $("#func option:selected").text(); 

    entradasaida = localStorage.getItem(func+"entradasaida"); 
    if(entradasaida == 1){ 
     $('#horas_button').text("Saida"); 
     var horasEnt = localStorage.getItem(func+"horas"); 
     var minsEnt = localStorage.getItem(func+"mins"); 
     $('#entrada').text(horasEnt+":"+minsEnt); 
    } else{ 
     $('#horas_button').text("Entrada"); 
     $('#entrada').text("Horário"); 
    } 
    }); 


    $(".inputs").keyup(function() { 
    if (this.value.length == this.maxLength) { 
    $(this).next('.inputs').focus(); 
    } 
    }); 
    $(".inputs1").keyup(function() { 
    if (this.value.length == this.maxLength) { 
    $(this).next('.inputs').focus(); 
    } 
    }); 

    var callback = function() { 
     alert(func); 


    entradasaida = localStorage.getItem(func+"entradasaida"); 

    if(entradasaida == 0){ 



    var time = $('#time').val(); 
    var time2 = $('#time2').val(); 
    var datetime = new Date(); 
    var year = datetime.getFullYear(); 
    var month = datetime.getMonth()+1; 
    if(month < 10){ 
    month = "0"+month 
    } 
    var day = datetime.getDay()+1; 
    if(day < 10){ 
    day = "0"+day 
    } 
    var date = new Date(year+"-"+month+"-"+day+" "+time+":"+time2); 

    var mills = date.getTime(); 

    var timeE = localStorage.getItem(func+"horas"); 
    var time2E = localStorage.getItem(func+"mins"); 

    alert(timeE); 

    localStorage.setItem(func+"horas", time); 
    localStorage.setItem(func+"mins", time2); 
    localStorage.setItem(func+"entradasaida",1); 
    localStorage.setItem(func+"millsEnt",mills); 



    $('#horas_button').text("Saida"); 
    $('#time, #time2').val(""); 
    $('#entrada').text(timeE+":"+time2E); 


    } else{ 

    var horasEnt = localStorage.getItem(func+"horas"); 
    var minsEnt = localStorage.getItem(func+"mins"); 
    var entrada = localStorage.getItem(func+"millsEnt"); 


    localStorage.setItem(func+"entradasaida",0); 

    var time = $('#time').val(); 
    var time2 = $('#time2').val(); 
    var datetime = new Date(); 

    var year = datetime.getFullYear(); 
    var month = datetime.getMonth()+1; 
    if(month < 10){ 
    month = "0"+month 
    } 
    var day = datetime.getDay()+1; 
    if(day < 10){ 
    day = "0"+day 
    } 
    var date1 = new Date(year+"-"+month+"-"+day+" "+time+":"+time2); 


    var millssai = date1.getTime(); 
    $('#millssai').text(millssai); 

    var totMills = (millssai - entrada) 

    var horas = time - horasEnt; 
    var mins = time2 - minsEnt; 
    if(mins < 0){ 
    mins = mins*(-1); 
    mins = mins.toFixed(2); 
    horas = horas-1; 
    } 
    var totHoras = horas+":"+mins 
    $('#totHoras').text(totHoras); 
    $('#mills').text(totMills); 
    $('#time, #time2').val(""); 
    $('#entrada').text(totHoras); 

    $('#horas_button').text("Entrada"); 
    } 
}; 

$("horas_button").keypress(function() { 
    callback(); 
}); 

$('#horas_button').click(callback); 
Verwandte Themen