dipps
Goto Top

Javascript option ändern

Javascript option ändern

Hallo Leute,
ich habe ein Auswahlfeld wo folgende Option drin stehen "A - B -C -D"
Wenn ich eine Auswahl getroffen habe geht ein neues select feld auf nun möchte ich aber das
wenn folgendes ausgewählt ist in dem neuem select die options
Für A:1-159
Für B:160-301
Für C:359-501
Für D:502-646
auswählbar sind.
Vorher sollte per PHP noch der Zahl zugewissen werde ob sie Reserviert Frei oder Belget ist. müsste sicherlich auch im Javascript eingertagen werden denke ich mal.

Content-Key: 130567

Url: https://administrator.de/contentid/130567

Ausgedruckt am: 29.03.2024 um 08:03 Uhr

Mitglied: Snowman25
Snowman25 30.11.2009 um 14:47:20 Uhr
Goto Top
ganz einfach: 4 verschiedene ComboBoxen die an der gleichen Stelle liegen (natürlich mit verschiedenen werten) und dann einfach das jeweilige anzeigen lassen bzw. die anderen ausblenden.
Mitglied: Dipps
Dipps 30.11.2009 um 15:10:02 Uhr
Goto Top
ja aber wie mache ich das er den wert a b c oder d nimmt ich habe bisher
<select onblur="if(this.value!='')nexte('A'); " ......
damit würde ich ja speziell A öffnen auch wenn er B klickt.
Mitglied: Snowman25
Snowman25 30.11.2009 um 15:22:19 Uhr
Goto Top
ich hoffe doch, du verstehst dein script überhaupt... ich übersetz es dir mal:
Wenn this.value (Aktueller wert) NICHT leer, \nix\ , dann wähle doch einfach A
wie wärs mit etwas a lá:
Wenn this.value (aktueller Wert) IST A, dann zeige Combobox_mit_werten_fuer_A sonst wenn this.value (aktueller Wert) IST B dann zeige Combobox_mit_werten_fuer_B u.s.w..

<select onchange="if(this.value=='A')  
  combobox_a.style.display = 'inline';  
  combobox_b.style.display = 'none';  
  combobox_c.style.display = 'none';  
  combobox_d.style.display = 'none';  
elseif(this.value=='B')  
  combobox_a.style.display = 'none';  
  combobox_b.style.display = 'inline';  
  combobox_c.style.display = 'none';  
  combobox_d.style.display = 'none';  
elseif(this.value=='C')  
  combobox_a.style.display = 'none';  
  combobox_b.style.display = 'none';  
  combobox_c.style.display = 'inline';  
  combobox_d.style.display = 'none';  
elseif(this.value=='D')  
  combobox_a.style.display = 'none';  
  combobox_b.style.display = 'none';  
  combobox_c.style.display = 'none';  
  combobox_d.style.display = 'inline';  
end if">  
  <option value="A">A</option>  
  <option value="B">B</option>  
  <option value="C">C</option>  
  <option value="D">D</option>  
</select>

beachte:onchange statt onblur
Mitglied: Dipps
Dipps 30.11.2009 um 15:47:18 Uhr
Goto Top
ich habe ja als erstes ein leeres option deshalt prüfe ich o leer ist aber dein script funktioiert bei mir nicht
Mitglied: Dipps
Dipps 30.11.2009 um 16:49:25 Uhr
Goto Top
Zur zeit habe ich es so
<tr>
 <td>Block: </td>
 <td><select onblur="if(this.value!='')next('platz');" size="1" name="block" id="block">  
 <option value="A">A</option>  
 <option value="B">B</option>  
 <option value="C">C</option>  
 <option value="D">D</option>  
</select></td>
</tr>
<tr>
 <td>Platz</td>
 <td><select style="visibility:hidden;" onblur="if(this.value!='')next('art');"  size="1" name="platz" id="platz">  
 <?
for($i=1;$i<=159;$i++) //für A
{
$p=$was."-".$i;  
$sql = "SELECT * FROM k_karten WHERE id = ".$p;  
$result = mysql_query($sql,$link_id);

while ($row =mysql_fetch_row($result))
 {
$stat=$row[4];
$kun=$row[2];

$sqlk = "SELECT * FROM k_kunde WHERE knr = ".$kun;  
$resultk = mysql_query($sqlk,$link_id);
 while ($rowk =mysql_fetch_row($resultk))
  {
  $nam=$rowk[1];
  }

 }
if($stat=="")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: lime;'>".$i." A </option>";  

if($stat=="2")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: yellow;'>".$i." A für ".$nam."</option>";  
}

for($i=160;$i<=301;$i++) // für B
{$p=$was."-".$i;  
$sql = "SELECT * FROM k_karten WHERE id = ".$p;  
$result = mysql_query($sql,$link_id);

while ($row =mysql_fetch_row($result))
 {
$stat=$row[4];
$kun=$row[2];

$sqlk = "SELECT * FROM k_kunde WHERE knr = ".$kun;  
$resultk = mysql_query($sqlk,$link_id);
 while ($rowk =mysql_fetch_row($resultk))
  {
  $nam=$rowk[1];
  }

 }
if($stat=="")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: lime;'>".$i." B</option>";  

if($stat=="2")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: yellow;'>".$i."B für ".$nam."</option>";  
}
}


for($i=359;$i<=501;$i++) // für C
{
$p=$was."-".$i;  
$sql = "SELECT * FROM k_karten WHERE id = ".$p;  
$result = mysql_query($sql,$link_id);

while ($row =mysql_fetch_row($result))
 {
$stat=$row[4];
$kun=$row[2];

$sqlk = "SELECT * FROM k_kunde WHERE knr = ".$kun;  
$resultk = mysql_query($sqlk,$link_id);
 while ($rowk =mysql_fetch_row($resultk))
  {
  $nam=$rowk[1];
  }

 }
if($stat=="")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: lime;'>".$i." C </option>";  

if($stat=="2")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: yellow;'>".$i." C für ".$nam."</option>";  
}
}


for($i=502;$i<=646;$i++) // für D
{
$p=$was."-".$i;  
$sql = "SELECT * FROM k_karten WHERE id = ".$p;  
$result = mysql_query($sql,$link_id);

while ($row =mysql_fetch_row($result))
 {
$stat=$row[4];
$kun=$row[2];

$sqlk = "SELECT * FROM k_kunde WHERE knr = ".$kun;  
$resultk = mysql_query($sqlk,$link_id);
 while ($rowk =mysql_fetch_row($resultk))
  {
  $nam=$rowk[1];
  }

 }
if($stat=="")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: lime;'>".$i." D </option>";  

if($stat=="2")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: yellow;'>".$i." D für ".$nam."</option>";  
}
}


?>
</select></td>
</tr>
kennt jemand einen script was mir nun filtern kann wenn ich oben A wähle das es mir nur die A zahlen Anzeigt bei B die B Zahlen und soweiter.
Mitglied: Dipps
Dipps 01.12.2009 um 15:09:15 Uhr
Goto Top
meine Fertige Lösung siht so aus:
<?php
session_start();
$was=$_GET["ver"];  

$fehler=0;
include("verbindung.php");  
include("login.php");   

if ($HTTP_POST_VARS)
{
$kid=$_POST["kid"];  
$name=$_POST["name"];  
$adr=$_POST["adr"];  
if($kid=="" &&($name=="" && $adr=""))  
{
$fehler++;
echo "<h3>Bitte Kundennr. oder Name und Addrese eingeben!</h3>";  
} 

if($fehler==0){

$kid=$_POST["kid"];  
$name=$_POST["name"];  
$adr=$_POST["adr"];  
$email=$_POST["email"];  
$erm=$_POST["erm"];  
$ver=$_POST["ver"];  
$platza=$_POST["platza"];  
$platzb=$_POST["platzb"];  
$platzc=$_POST["platzc"];  
$platzd=$_POST["platzd"];  
$block=$_POST["block"];  
$art=$_POST["art"];  
$datum=date("Y-m-d");  


if($block=="a")  
$platz=$platza;


if($block=="b")  
$platz=$platzb;


if($block=="c")  
$platz=$platzc;


if($block=="d")  
$platz=$platzd;

$id=$ver."-".$platz;  


if($kid=="")  
{

$sqlbefehl="INSERT INTO k_kunde (knr,name,anschrift,email) VALUES(NULL,'$name','$adr','$email')";  
    mysql_query($sqlbefehl, $link_id);

//echo"User in Datenbank Angelegt<br>";  
if (mysql_error())
    {if (mysql_errno()==1062){echo "<font color=#FF0000>Kunde schon vorhanden</font>";}  
     //    mysql_errno() zeigt Fehlernummer an
     echo "<font color='#FF0000'> SQL Fehlernr.:".mysql_errno()."</font>";  
      echo"<font color='#FF0000'> Knr. nicht angelegt!</font><br>";  
$fehler++;
     }
else
{
$kid=mysql_insert_id();

echo "<font color='#00FF0F'>Folgende Knr. wurde erteilt: ".$kid."</font><br>";  

}
}
if($kid!=""&&$email!="")  
{
$sql = "UPDATE k_kunde SET email = '$email' WHERE knr = '$kid'";  

      if(mysql_query($sql,$link_id))
        echo "Kunde erfolgreich bearbeitet!(Mail)<br>";  
      else
        echo "Kunde konnten nicht bearbeitet werden!(Mail)<br>";  
    
}

if($kid!=""&&$adr!="")  
{
$sql = "UPDATE k_kunde SET anschrift = '$adr' WHERE knr = '$kid'";  

      if(mysql_query($sql,$link_id))
        echo "Kunde erfolgreich bearbeitet!(Adresse)<br>";  
      else
        echo "Kunde konnten nicht bearbeitet werden!(Adresse)<br>";  
}

if($kid!=""&&$name!="")  
{
$sql = "UPDATE k_kunde SET name = '$name' WHERE knr = '$kid'";  

      if(mysql_query($sql,$link_id))
        echo "Kunde erfolgreich bearbeitet!(Name)<br>";  
      else
        echo "Kunde konnten nicht bearbeitet werden!(Name)<br>";  
    
}

if($fehler==0){

$sqlbefehl="INSERT INTO k_karten (id,erm,kunde,datum,art) VALUES('$id','$erm','$kid','$datum','$art')";  
    mysql_query($sqlbefehl, $link_id);

if (mysql_error())
    {if (mysql_errno()==1062){echo "<font color=#FF0000>Karte schon verkauft für diese Veranstalltung!</font>";}  
     //    mysql_errno() zeigt Fehlernummer an
     echo "<font color='#FF0000'> SQL Fehlernr.:".mysql_errno()."</font>";  
     }
else
{

echo "<font color='#00FF0F'>Bestellung/Reservierung erfolgreich angelegt! ID: ".$id."</font><br>";  

}
}else{
echo"<font color='#FF0000'>Bestellung/Reservierung fehlgeschlagen!</font><br>";  
}
}
}

?>
<html>
<head>
<meta http-equiv="Content-Language" content="de">  
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">  
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">  
<meta name="ProgId" content="FrontPage.Editor.Document">  
<LINK REL="StyleSheet" HREF="style.css" type="text/css">  
</head>
<body>
<script language="JavaScript">  
function fuellen(nex)
{
document.getElementById(nex).style.visibility='visible';  
}
function sperr(frei,s1,s2,s3)
{
document.getElementById(frei).style.visibility='visible';  
document.getElementById(s1).style.visibility='hidden';  
document.getElementById(s2).style.visibility='hidden';  
document.getElementById(s3).style.visibility='hidden';  
}
</script>
        <div align="center">  
          <center><br>
<form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">  
<h1>Bestellung/Reservierung Anlegen</h1>
<table align="center">  
<tr>
 <td>Kundendaten:</td>
 <td><table>
<tr><td>Knr.:</td><td><input type="Text" name="kid" value="" size="20" onchange="if(this.value!='')fuellen('block');"></td></tr>  
<tr><td colspan="2"> ------ Oder ------</td></tr>   
<tr><td>Name:</td><td><input type="Text" name="name" value="" size="20" onchange="if(this.value!='')fuellen('block');"></td>  
<tr><td>Adresse:</td><td><textarea class='text' name="beschreibung" rows='3' cols='15'></textarea></td></tr>  
<tr><td>Email:</td><td><input type="Text" name="name" value="" size="20" ></td></tr>  
</table>
</td>
</tr>
<tr>
 <td>Block: <br><a href="k_block.php?ver=<?=$was;?>" target="_blank">Sitzplan</a></td>  
 <td><select style="visibility:hidden;" onchange="if(this.value=='a')sperr('platza','platzb','platzc','platzd');if(this.value=='b')sperr('platzb','platza','platzc','platzd');if(this.value=='c')sperr('platzc','platza','platzb','platzd');if(this.value=='d')sperr('platzd','platza','platzb','platzc');" size="1" name="block" id="block">  
 <option value="">Bitte wählen!</option>  
 <option value="a">A</option>  
 <option value="b">B</option>  
 <option value="c">C</option>  
 <option value="d">D</option>  
</select></td>
</tr>
<tr>
 <td>Platz:</td>
 <td><select style="visibility:hidden;" onchange="if(this.value!='')fuellen('artg');"  size="1" name="platza" id="platza">  
 <?
for($i=1;$i<=159;$i++)
{
$stat="";  
$p=$was."-".$i;  
$sql = "SELECT * FROM k_karten WHERE id LIKE '".$p."'";  
$result = mysql_query($sql,$link_id);

while ($row =mysql_fetch_row($result))
 {
$stat=$row[4];
$kun=$row[2];
$sqlk = "SELECT * FROM k_kunde WHERE knr = ".$kun;  
$resultk = mysql_query($sqlk,$link_id);
 while ($rowk =mysql_fetch_row($resultk))
  {
  $nam=$rowk[1];
  }
 }
if($stat=="")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: lime;'>".$i." </option>";  
if($stat=="2")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: yellow;'>".$i." ".$nam."</option>";  
}
?>
</select><br>
<select style="visibility:hidden;" onchange="if(this.value!='')fuellen('artg');"  size="1" name="platzb" id="platzb">  
<?
for($i=160;$i<=301;$i++)
{
$stat="";  
$p=$was."-".$i;  
$sql = "SELECT * FROM k_karten WHERE id LIKE '".$p."'";  
$result = mysql_query($sql,$link_id);

while ($row =mysql_fetch_row($result))
 {
$stat=$row[4];
$kun=$row[2];
$sqlk = "SELECT * FROM k_kunde WHERE knr = ".$kun;  
$resultk = mysql_query($sqlk,$link_id);
 while ($rowk =mysql_fetch_row($resultk))
  {
  $nam=$rowk[1];
  }
 }
if($stat=="")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: lime;'>".$i." </option>";  
if($stat=="2")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: yellow;'>".$i." ".$nam."</option>";  
}
?>
</select><br>
<select style="visibility:hidden;" onchange="if(this.value!='')fuellen('artg');"  size="1" name="platzc" id="platzc">  
<?
for($i=359;$i<=501;$i++)
{
$stat="";  
$p=$was."-".$i;  
$sql = "SELECT * FROM k_karten WHERE id LIKE '".$p."'";  
$result = mysql_query($sql,$link_id);

while ($row =mysql_fetch_row($result))
 {
$stat=$row[4];
$kun=$row[2];
$sqlk = "SELECT * FROM k_kunde WHERE knr = ".$kun;  
$resultk = mysql_query($sqlk,$link_id);
 while ($rowk =mysql_fetch_row($resultk))
  {
  $nam=$rowk[1];
  }
 }

if($stat=="")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: lime;'>".$i." </option>";  
if($stat=="2")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: yellow;'>".$i." ".$nam."</option>";  
}

?>
</select><br>
<select style="visibility:hidden;" onchange="if(this.value!='')fuellen('artg');"  size="1" name="platzd" id="platzd">  
<?
for($i=502;$i<=646;$i++)
{
$stat="";  
$p=$was."-".$i;  
$sql = "SELECT * FROM k_karten WHERE id LIKE '".$p."'";  
$result = mysql_query($sql,$link_id);

while ($row =mysql_fetch_row($result))
 {
$stat=$row[4];
$kun=$row[2];
$sqlk = "SELECT * FROM k_kunde WHERE knr = ".$kun;  
$resultk = mysql_query($sqlk,$link_id);
 while ($rowk =mysql_fetch_row($resultk))
  {
  $nam=$rowk[1];
  }
 }
if($stat=="")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: lime;'>".$i." </option>";  
if($stat=="2")  
echo"<option value='".$i."' style='BACKGROUND-COLOR: yellow;'>".$i." ".$nam."</option>";  
}
?>
</select></td>
</tr>
<tr>
 <td>Art:</td>
 <td><div style="visibility:hidden;" name="artg" id="artg"><input type="radio" name="art" id="art" value="1" size="20" onclick="fuellen('ermg');">Bestellung &nbsp;&nbsp;&nbsp;<input type="radio" name="art" id="art" value="2" size="20" onclick="fuellen('ermg');">Reserviert</div></td>  
</tr>
<tr>
 <td>Erm&auml;&szlig;igt:</td>
 <td><div style="visibility:hidden;" name="ermg" id="ermg"><input type="radio" name="erm" id="erm" value="1" size="20" onclick="fuellen('buch');">Ja &nbsp;&nbsp;&nbsp;<input type="radio" name="erm" id="erm" value="0" size="20" onclick="fuellen('buch');">Nein</div></td>  
</tr>
<tr>
 <td></td>
 <td><div style="visibility:hidden;" name="buch" id="buch"><input type="hidden" name="ver" value="<?=$was;?>"><input type="submit" value="Bestellen/Reservieren"></div></td>  
</tr>
</table>
<br><br><br>
</form>
         </center>
        </div>
</body>
</html>

Das funktiert auch soweit.
Nun war noch der wunsch das ich bei Platz mehr auswählen kann.
Sprich 1 4 7 9 oder 1-5 wie mache ich das ich das dann oben im PHP wieder in die Datenbank reinbekomme? Und wie stelle ich das im Imput ein?
Mitglied: Snowman25
Snowman25 01.12.2009 um 15:18:25 Uhr
Goto Top
vllt. solltest du aufhören, scripte aus verschiedenen Quellen zusammenzubasteln und erstmal JS und PHP lernen... dann würdest du auch nicht solche fragen stellen face-big-smile
und um mehrere Plätze auszuwählen brauchst du eine listbox, keine combobox....
Mitglied: Dipps
Dipps 01.12.2009 um 15:23:51 Uhr
Goto Top
könntest du mir da für den php teil wo es in die DB schreibt ein tipp geben?
sprich das ich die nr 2 3 4 und so bekomme und dann dem entsprechend eintrage da hängt es gerade bei mir gerade.
Mitglied: Snowman25
Snowman25 01.12.2009 um 15:46:58 Uhr
Goto Top
entweder, du schaust in deiner eigenartigen verbindung.php oder in der PHP-referenz zu MySQL-verbindungen nach.
http://www.php-resource.de/tutorials/tutorials,2,MySQL,1.htm
Mitglied: Dipps
Dipps 02.12.2009 um 09:09:16 Uhr
Goto Top
Darum geht es nicht. Ich meine ich habe ja ein Multiselect und wenn ich nun 5 oder 4 oder 9 oder so auswähle muss ich die ja in einem Array im PHP bearbeiten/auswerten können doch wenn ich jetzt im PHP angebe

<?
$platz=$_POST["platz"];  
echo $platz;

?>
da kommt immer nur der wert der als leztes ausgewählt wurde aber nich alle selectierten.
Wie mache ich das ich alle selectierte bekomme.
Mitglied: nxclass
nxclass 02.12.2009 um 09:19:41 Uhr
Goto Top
hast Du:
<select multiple="multiple" name="wasauchimmer">  
</select>
dann sollte
print_r( $_REQUEST['wasauchimmer'] );  
dir alle gewählten Optionen anzeigen.

BITTE BITTE - Trenne dein HTML, PHP und JS code !!! *graus*

PS: ich sehe da viele Probleme in deinem Code und hoffe das diese Anwendung nicht öffentlich zugänglich ist !?
Mitglied: Snowman25
Snowman25 02.12.2009 um 09:26:19 Uhr
Goto Top
Du hast jetzt noch genau einen versuch, verständlich dein Problem zu beschreiben, ansonsten hab auch ich irgendwann kene Lust mehr.

Du wolltest jetzt wissen, wie man etwas in die DB schreibt.
Zitat von @Dipps:
könntest du mir da für den php teil wo es in die DB schreibt
ein tipp geben?
sprich das ich die nr 2 3 4 und so bekomme und dann dem entsprechend
eintrage da hängt es gerade bei mir gerade.

Da ich mich selbst nicht wirklich mit Datenbankabfragen und aktionen in PHP beschäftige (noch nicht) habe ich dich auf deine eignen Verbindungen hingewiesen, plus 1A TUTORIALS (!!!) für MySQL-Datenbanken in Verbindung mit PHP.
Jetzt meinst du, darum geht es garnicht...
Ich sage es dir noch einmal:
LERNE ES! Nur mit durchfragen wird das nichts... Wenn du dann irgendwo einen fehler in deinem code hast, dann wirst du nicht in der Lage sein, diesen zu entdecken bzw. berichtigen.