Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 18.10.2013, 10:07
gabischatz gabischatz ist offline
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard

Danke Tilo, Das Array enthält dann dieses ["2013", "2013", "2012", "2012", "2012", "2011", "2010", "2010", "2009", "2008", "val"]Edit fiddle - JSFiddle
sollte aber nur noch dass enthalten ["2013", "2012", "2011", "2010", "2009", "2008"]
Kriegt man das auch so hin?
Nachtrag: Das ist das fertige Script und kann in Wp eingefügt werden.
Es ermöglicht Beiträge nach Jahr auszugeben.
HTML-Code:
 <script type="text/javascript">
	    /* <![CDATA[ */
function byId(id) {
	return document.getElementById(id);
}
 if(byId("posts-filter"))
 {

// <summary>
// Sucht nach Select-Tag mit dem Name "m"
// und schreibt die Value´s  der Otionen in ein Array
// </summary>
	var optionElems = $('select[name="m"]').find('option[value!=0]');
	var yearArray = [];
	$.each(optionElems, function( index, value ) { yearArray[index] = $(this).attr('value').slice(0,4);});

// Doppelte Einträge entfernen
	yearArray=unique(yearArray);//Funktionsaufruf
// <summary>
//  Mit dieser Funktion werden sämtliche Einträge die mehrfach
//  in einem Array vorhanden sind entfernt.
// </summary>
// <param name="origArr">[Array] original Array</param>
// <returns>[Array]Diese Methode gibt am Ende ein neues Array zurück,
// aus dem alle doppelten Einträge entfernt wurden. </returns>
	var unique = function(origArr) {
	    var newArr = [], origLen = origArr.length,found,x, y;

	    for ( x = 0; x < origLen; x++ ) {
	        found = undefined;
	        for ( y = 0; y < newArr.length; y++ ) {
	            if ( origArr[x] === newArr[y] ) {
	              found = true;
	              break;
	            }
	        }
	        if ( !found) newArr.push( origArr[x] );
	    }
	   return newArr;
	}

// <summary>
// Optionen Hinzufügen
// </summary>
	i = 0;
	while(i < yearArray.length)
	{
	$( "select[name='m']" ).append($(document.createElement("option")).
		                    attr("value",yearArray[i]).text("Das Jahr "+yearArray[i]));
	++i;
	}

// Option nach aufruf selektieren
	selected(location.search); //Funktionsaufruf
// <summary>
// Sucht eine Postvariable "m", bei true wird die Option im Select-Tag ausgewählt.
// </summary>
// <param name="string">[string] location.search </param>

	function selected (string){
		if (string == '') return;
		var wert = string.slice(1);
		var paare = wert.split("&");
		var paar, name;
		for (var i = 0; i < paare.length; i++) {
			paar = paare[i].split("=");
			name = paar[0];
			if (name =="m")  $("option[value="+paar[1]+"]").attr("selected","selected");
		}
	}
  //console.log(yearArray);
 }
 /* ]]> */
   </script>

Geändert von gabischatz (18.10.2013 um 19:38 Uhr)
Mit Zitat antworten