HELLinG3R Geschrieben 30. August 2004 Teilen Geschrieben 30. August 2004 Hallo, ich habe hier die Aufgabe, einen bestimmten text in einem dokument zu finden. Das Problem hierbei ist, dass auch in dropdowns gesucht werden soll, und die dropdowns werden dynamisch generiert. Das bedeutet eine variable anzahl dropdowns mit variablen längen. hier mal der code: var j=-1; for (var dropdown in document.forms[1].elements){ j++; alert(document.forms[1].elements[1].options[2].text); for (i=0; i < document.forms[1].elements[j].length; i++) { alert(document.forms[1].elements[0].options[2].text); if (document.forms[1].elements[j].options[i].text == str){ alert("juhuu!"); } } } Das normale suchen funktioniert schon, es hakt nur an den dropdowns und ich komme einfach nicht weiter. Auf der seite gibts 2 Formulare, das zur sucheingabe und das mit allen dropdowns. Ich hoffe, hier kann mir jemand einen kleinen denkanstoss geben... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 30. August 2004 Teilen Geschrieben 30. August 2004 var oForms = document.forms; for (var i = 0; i < oForms.length; i++) { var oForm = oForms[ i]; var oOptions = oForm.elements.options; for ( var t = 0; t < oOptions.length; t++) { if ( oOptions[ t].text == searchStr) { alert('gefunden!'); break; } } } ist nicht getestet! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HELLinG3R Geschrieben 31. August 2004 Autor Teilen Geschrieben 31. August 2004 danke, ich werds gleich mal testen. Aber eine erklärung warum, wäre auch nicht schlecht..... bin doch noch JS neuling! hm, irgendwas funktioniert da nicht, ich bekomme keine messagebox, stattdessen kehrt der browser zur eingabeseite zurück (die seite vor der, wo das javascript ausgeführt wird) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 31. August 2004 Teilen Geschrieben 31. August 2004 mom ich teste ma lokal Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 31. August 2004 Teilen Geschrieben 31. August 2004 Sorry, das es so lang gedauert hab, aber ich hab ja schließlich auch noch anderes zu tun :beagolisc also hier, das is getestet und geht: Es werden alle Selects durchsucht, auch die die nicht in einem Formular sind! <html> <head> <title> JS TEST </title> </head> <body> <script> function searchOptions( searchStr) { // Array von allen Select Objecten heraussuchen var aoSelects = document.getElementsByTagName( "select"); for ( var t = 0; t < aoSelects.length; t++) { var oSelect = aoSelects[ t]; // Array von Options Objecten aus dem Select Object "extrahieren" var aoOptions = oSelect.options; for ( var s = 0; s < aoOptions.length; s++) { var oOption = aoOptions[ s]; // Prüfen ob das Label oder der Value des Textes mit dem Suchwert übereinstimmen if ( oOption.text == searchStr || oOption.value == searchStr) { alert('gefunden im Select: ' + oSelect.name + ',\n an ' + ( s + 1 ) + '. Stelle!'); return; } } } alert( 'nichts gefunden!'); } </script> <select name="select1"> <option>test</option> <option>test1</option> </select> <select name="select2"> <option>test2</option> <option>test3</option> </select> <select name="select3"> <option>test4</option> </select> <a href="javascript: searchOptions( 'test');">Such test</a> <a href="javascript: searchOptions( 'test2');">Such test2</a> <a href="javascript: searchOptions( 'test4');">Such test4</a> </body> </html> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HELLinG3R Geschrieben 31. August 2004 Autor Teilen Geschrieben 31. August 2004 ich bin dir sehr dankbar und werde deine Lösung einsetzen; ich muss sie jetzt nur noch so implementieren, dass auch der normale text weiterhin durchsucht wird und versuchen, deinen Code zu verstehen und warum meiner nicht ging Also Danke nochmal! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 31. August 2004 Teilen Geschrieben 31. August 2004 ich bin dir sehr dankbar und werde deine Lösung einsetzen; ich muss sie jetzt nur noch so implementieren, dass auch der normale text weiterhin durchsucht wird und versuchen, deinen Code zu verstehen und warum meiner nicht ging Also Danke nochmal! also auf den 1. Blick würd ich sagen, dein code ging schonma nicht, weil er nur options innerhalb eines Formulars durchsucht hätte. Weiterhin war das Problem, das du die Options direkt als Formularelemente angesprochen hast, aber man dazwischen ncoh den namen des Select Objectes brauchst Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.