zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden jQuery value aus option-Tag auslesen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 18.10.2013, 00:23
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard jQuery value aus option-Tag auslesen

Hi, ich habe noch eine Frage, value aus option-Tag auslesen und nur das Jahr einmal in ein Array schreiben. Array = 2013,2012,2011,2010,2009,2008
HTML-Code:
<select name='m'>
<option selected='selected' value='0'>Jedes Datum</option>
<option  value='201310'>Oktober 2013</option>
<option  value='201309'>September 2013</option>
<option  value='201208'>August 2012</option>
<option  value='201207'>Juli 2012</option>
<option  value='201206'>Juni 2012</option>
<option  value='201105'>Mai 2011</option>
<option  value='201004'>April 2010</option>
<option  value='201002'>Februar 2010</option>
<option  value='200901'>Januar 2009</option>
<option  value='200812'>Dezember 2008</option>
		</select>
Anfangen würde ich mit
HTML-Code:
 $( "select[name='m']" ).find('option') 
var value='201309';
jahre= new Array();
jahre.push(value.slice(0,4));
danach weiß ich nicht weiter.
MfG
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 18.10.2013, 00:59
Benutzerbild von Thielo
Web Ninja
XHTMLforum-Kenner
 
Registriert seit: 17.09.2009
Ort: Stuttgart oder so
Beiträge: 3.373
Thielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein Lichtblick
Standard

Code:
var optionElems = $('select[name="m"]').find('option[value!="0"]');
var yearArray = [];
$.each(optionElems, function( index, value ) {
    yearArray[index] = $(this).attr('value').slice(0,4);
});
console.log(yearArray);
__________________
Hier ein immer gültiges Statement: Überarbeite deine Code, lerne die Grundlagen, widersprich mir nicht, wehre dich nicht, ich habe Recht, wir sind Lolgion, wir sind viele.. potato...
All meine Angaben sind ohne Gewähr, es könnte also trotz meiner Unfehlbarkeit dazu kommen dass ich falsch liege

www.richard-thiel.de | Müssen Websiten überall gleich ausschauen?
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 18.10.2013, 10:07
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
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
jQuery Option tag einfügen gabischatz Javascript & Ajax 2 17.10.2013 23:23
php tag mittel jquery einfügen? benzrecordings Javascript & Ajax 4 16.12.2011 00:34
Redesign für Steiner Cycling Team pkipper Site- und Layoutcheck 11 09.02.2011 12:25
Option Value aufgrund Value inhalt per CSS definieren noxx-forever CSS 7 01.08.2010 21:09
jQuery: Select option und click Sonny Lane Javascript & Ajax 3 17.12.2008 10:09


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:57 Uhr.