2017-03-29 3 views
0

Kürzlich habe ich eine ähnliche Frage gestellt, aber ich werde sie löschen, weil sie nicht klar genug war, mein Fehler.Abrufen von Werten aus dem Objekt, indem sie durch Kommas getrennt werden

Ich brauche Jahr zu bekommen, Monat und Datum Werte aus mehreren dynamischen Objekten

Object {year: 2017, month: 1, date: 26}  
Object {year: 2017, month: 2, date: 5} 
Object {year: 2017, month: 2, date: 12} 
Object {year: 2017, month: 2, date: 19} 
Object {year: 2017, month: 2, date: 26} 

und ich brauche, um sie so in Array zu machen:

[26/1/2017, 5/2/2017, 12/2/2017, 19/2/2017, 26/2/2017] 

und als, verwenden dieses Array setze diese Werte in den versteckten Eingabedaten wie folgt:

<input type="hidden" value="26/1/2017, 5/2/2017, 12/2/2017, 19/2/2017, 26/2/2017"> 

Ich habe es geschafft, die Werte zu bekommen und sie hineinzuschieben Arrays, aber ich kann sie arbeiten, wie es sollte nicht bekommen, hier ist mein Code:

  // Note: This code is in each function 

      // This holds the objects 
      var sundayData = $(this).data(); 

      // I get date, month and year values 
      var dayAll = sundayData['date']; 
      var monthAll = sundayData['month']; 
      var yearAll = sundayData['year']; 

      // Here, I putting them in the right format 
      var sundayDatesAll = dayAll + '/' + (monthAll + 1) + '/' + yearAll; 
      // 
      var sundayDate = []; 

      // Here, I push the dates in sundayDate 
      sundayDate.push(sundayDatesAll); 

      $('input').val(sundayDate.join()); 

Aber wie diese, gibt es getrennte Arrays wie folgt aus:

["26/2/2017"] 
["5/3/2017"] 
["12/3/2017"] 
["19/3/2017"] 
["26/3/2017"] 

und es gibt nur eine Wert in der Eingabe, ich glaube, es ist der letzte Wert 26/3/2017

Jede Hilfe ist willkommen, danke ...

+0

Verwendung concat() -Methode, die Arrays –

Antwort

1

Sie müssen den alten Wert der Eingabe zu erhalten, ist es aufgeteilt, dann die hinzufügen neues Datum, rath Er beginnt jedes Mal mit einem leeren Array.

var sundayDate = $('input').val().split(','); 
// Here, I push the dates in sundayDate 
sundayDate.push(sundayDatesAll); 
$('input').val(sundayDate.join(',')); 

Sie können dies in kombinieren:

$('input').val(function(i, oldDates) { 
    var sundayDate = oldDates.split(','); 
    sundayDate.push(sundayDatesAll); 
    return sundayDate.join(','); 
}); 
+0

Es scheint ok Mann, Dank viel zu verschmelzen ... – Novakinify

Verwandte Themen