php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.06.2010, 12:42  
Neuer Benutzer
 
Registriert seit: 02.04.2010
Beiträge: 9
PHP-Kenntnisse:
Anfänger
melody befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Select Optionen automatisch füllen

Hallo zusammen,

ich habe eine kleine Funktion geschrieben, leder funktioniert sie nicht ganz, ich möchte folgendes erreichen:

wenn eine Höhe im "shoehe" feld ausgewählt wurde:

1. soll der passende Hinweistext "Ordnerebene" angezeigt werden (funktioniert)
2. soll im neuen select feld "sebene" die passende Optionen automatisch gefüllt werden (funktioniert leider nicht)

PHP-Code:
<script language="javascript"

function 
ebene(hoehe


var 
sebene document.anfrage.sebene
sebene.options.length 0

var 
hoehe_nums_str "1500|2000|2500|3000";
var 
hoehe_numbers hoehe_nums_str.split("|");

var 
ordnerebene_nums_str "4|5|6|7";
var 
ordnerebene_numbers ordnerebene_nums_str.split("|");

var 
minebene_nums_str "3|4|5|6";
var 
minebene_numbers minebene_nums_str.split("|");

var 
maxebene_nums_str "12|16|20|24";
var 
maxebene_numbers maxebene_nums_str.split("|");

for (
i=0i<hoehe_numbers.lengthi++) {
    
    if (
hoehe_numbers[i] == hoehe) {
        
oe.innerHTML = ("Hinweis: Platz für bis zu " ordnerebene_numbers[i] + " Ordnerebenen ohne Abschlußboden");
        
        for (var 
op minebene_numbers[i]; op <= maxebene_numbers[i]; op++) {
            
sebene.options[sebene.options.length] = new Option(op);
            }
      }
    }

</script> 
Ausgabe

PHP-Code:
<form action="#" method="post" name="anfrage">

Höhe 
<select name="shoehe" size="1" onChange="ebene(shoehe.options[shoehe.selectedIndex].value);">
  <
option value="">Bitte wählen</option>
  <
option value="1500">1500 mm</option>
  <
option value="2000">2000 mm</option>
  <
option value="2500">2500 mm</option>
  <
option value="3000">3000 mm</option
</
select>
<
span id="oe"></span>

<
br />

Ebenen 
<select name="sebene" size="1">
<
option value="">-</option
</
select>

<
br />
</
form
Auf jeden Tipp wäre ich sehr dankbar.
melody ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.06.2010, 13:35  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Zitat:
Auf jeden Tipp wäre ich sehr dankbar.
- Fehlermeldungen??! (z.b. im Firefox in die console schauen).
Falls du nicht sagen kannst, wo es hakt, gib uns doch einen testlink.
- Verwende irgendein JS-Framework deiner Wahl
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Alt 04.06.2010, 14:38  
Neuer Benutzer
 
Registriert seit: 02.04.2010
Beiträge: 9
PHP-Kenntnisse:
Anfänger
melody befindet sich auf einem aufstrebenden Ast
Standard

danke für den Tipp!

ich konnte einen anderen Fehler beheben:

oe.innerHTML habe ich geändert in document.getElementById("oe").innerHTML

das Problem "die passende Optionen automatisch füllen" besteht immer noch:

test2

wenn ich diesen Teil ändere
PHP-Code:
for (var op minebene_numbers[i]; op <= maxebene_numbers[i]; op++) 
in:
PHP-Code:
for (var op 3op <= 12op++) { 
dann funktioniert es:
test1

das behebt das Problem leider nicht, da die passende Optionen angezeigt werden sollen:

wenn höhe 1500 -> dann zeige select optionen von 3 bis 12
wenn höhe 2000 -> dann zeige select optionen von 4 bis 16
....
melody ist offline   Mit Zitat antworten
Alt 04.06.2010, 14:48  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

PHP-Code:
for (var op minebene_numbers[i]; op <= maxebene_numbers[i]; op++) 
Das Problem an dieser Stelle ist, dass du keine Zahlen in minebene_numbers und maxebene_numbers stehen hast, sondern Strings.

Wird bspw. die Höhe 1500mm ausgewählte, dann ist i=0 und damit minebene_numbers[0] gleich "3" und maxebene_numbers[0] gleich "12".

Schon bei der ersten Überprüfung der Schleifenbedingung ergibt "3" < "12" aber falsch, weil bei einem Stringvergleich die "3" natürlich größer ist als die "12", schliesslich ist das erste Zeichen von "3" größer als das erste Zeichen von "12".
Also wird die Schleife überhaupt nicht durchlaufen.


Entweder legst du minebene_numbers und maxebene_numbers gleich als Arrays von Zahlen an, oder du wandelst die Strings nach dem Splitten in Zahlen um (das geht mit parseInt).
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 04.06.2010, 15:14  
Neuer Benutzer
 
Registriert seit: 02.04.2010
Beiträge: 9
PHP-Kenntnisse:
Anfänger
melody befindet sich auf einem aufstrebenden Ast
Standard

Ich danke dir vielmals für die wunderbare Erklärung und Lösung!
melody ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Select_Feld_1 soll Select_Feld_2 Füllen Lucifer JavaScript, Ajax und mehr 4 10.05.2010 17:13
[Erledigt] Intertabellarische Berechnungen, wie? dave303 Datenbanken 13 05.03.2010 11:58
[Erledigt] 2 Select-Abfragen in eine Variable speichern TheMav Datenbanken 3 18.06.2009 00:29
[Erledigt] Select * where in (Select ...) Geschwindigkeitsproblem Wolla Datenbanken 14 20.05.2009 15:16
SQL select fehlerhafte Resultate. Ist PHP 64 Bit das Problem? peterw Server, Hosting und Workstations 6 21.04.2009 09:19
[Erledigt] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
[Erledigt] Mysql Insert Select + Concat Hu5eL Datenbanken 14 10.06.2008 10:39
Probleme mit Inner Select Datenbanken 0 19.10.2005 15:22
selbst gelöst! Select <option> kleines Problem Dropdow 24bits PHP Tipps 2005-2 0 15.10.2005 19:19
Spalte mit summen automatisch füllen center Datenbanken 0 05.08.2005 20:29
Spalte mit summen automatisch füllen center Datenbanken 0 05.08.2005 20:27
select feld automatisch als "submit" setzen bei au PHP Tipps 2005-2 10 07.06.2005 08:23
Select Feld nicht automatisch zurücksetzen nach Send Button PHP Tipps 2005 5 17.03.2005 16:13
[Erledigt] 2 mal select 1 form PHP-Fortgeschrittene 1 01.09.2004 20:13
select Feld automatisch aktualisieren PHP-Fortgeschrittene 6 13.08.2004 16:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/javascript-ajax-und-mehr/68620-erledigt-select-optionen-automatisch-fuellen.html, javascript select füllen, php select option, javascript option füllen, select automatisch füllen, select mit javascript füllen, html option automatisch, select option füllen, ajax select füllen, html option füllen, javascript select option füllen, php option füllen, select feld mit zahlen füllen, selectbox automatisch befüllen, option mit php füllen, php optionsfeld füllen, php optionsfeld füllen automatisch, select feld mit zahlen füllen js, html select option füllen, ajax select option füllen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:44 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum