mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 02:17 Benutzername: Passwort: Auto-Login

Thema: dynamisches Javascript vom 18.07.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> dynamisches Javascript
Autor Nachricht
Darkdragon
Threadersteller

Dabei seit: 23.05.2006
Ort: Berlin
Alter: 41
Geschlecht: Männlich
Verfasst Mi 18.07.2007 18:03
Titel

dynamisches Javascript

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen
ich habe folgendes Problem ich möchte folgendes Javascript

klick hier

Dynamisch machen (also die auswahlfelder sollen dynamisch ausgelesen werden).

das hab ich schon

Code:

<?
$url="./bilder/";
$handle = opendir($url);
      while($file = readdir($handle))
     {if($file != "." AND $file!=".." AND strstr($file,"_klein")==true AND strstr($file,"_mail")==false AND strstr($file,"txt")==false)
      { // füllen der Liste mit den Dateinamen
          $imagelist[] = $file; }
      }
     closedir($handle);
    sort($imagelist);
$zahl=count ($imagelist);

echo "<script type='text/javascript'>
<!--
function CheckAuswahl(z) {
  var tw=new Array(";
for($I=0;$I<$zahl;$I++)
{
echo "document.moveform.platz".I+1 .".value,";
 }
  echo "),";
  echo "tz=new Array(";
  for($Z=0;$Z<$zahl-1;$Z++)
  {
  $jarray[]="0,";
  }
  $jarray[]="0";
  for($y=0;$y<count($jarray);$y++)
  {
  echo $jarray[$y];
  }
  echo ") ; z=z-1; for(i=0;i<".$zahl.";++i) {tz[tw[i]-1]=1;}
  for(i=0;i<".$zahl.";++i) {if(tz[i]==0) {t=i;} if(tw[z]==tw[i] && z!=i) {p=i;}}
  ";
  for($Y=0;$Y<$zahl;$Y++)
  {
  $yq=$Y+1;
  echo "if(p==".$Y.") {document.moveform.platz".$yq.".selectedIndex=t;}\n";
  }
  echo "}//--></script>";
?>
<form action="raendern1.php" method="post" name='moveform'>
<table border="0" cellpadding="0" cellspacing="0">
<?
unset($Y);
unset($y);
unset($z);

for($i=0;$i<$zahl;$i++)
   {
   $z=$i+1;
   echo "<tr><td width=\"174\"><img src=\"./bilder/".$imagelist[$i]."\"></td><td width=\"38\">&nbsp;</td><td width=\"83\">";
   echo "<select name=\"auswahl[]\" size=\"1\">";
   for($y=0;$y<$zahl;$y++)
      {
      $Y=$y+1;
      echo" <option value=\"".$Y."\" size=2 name=platz.".$Y." onChange='CheckAuswahl(".$Y.")'";
      if ($z==$Y){echo " selected";} echo ">".$Y."</option>\n";
      }
   echo "</select></td>\n</tr><tr><td height=\"5\"></td></tr>";
   }
?>
</table>
<table>
 <tr>
  <td></td>
  <td></td>
  <td><input name="Senden" type="submit" value="Bildreihnfolge &auml;ndern"></td>
 </tr>
</table>
</form>


Was mach ich falsch? * Ich geb auf... *
Geht das überhaubt??
  View user's profile Private Nachricht senden
ruerueka

Dabei seit: 18.07.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 18.07.2007 18:30
Titel

Antworten mit Zitat Zum Seitenanfang

Nachfrage: Du möchtest, dass abhängig von einem in Box 1 gewählten Wert die Werte in Box 2 gesetzt werden?
Oder: du möchtest, dass abhängig von einem in Box 1 gewählten Wert Box zwei mit spezifischen Werten erzeugt wird?
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Darkdragon
Threadersteller

Dabei seit: 23.05.2006
Ort: Berlin
Alter: 41
Geschlecht: Männlich
Verfasst Mi 18.07.2007 18:43
Titel

Antworten mit Zitat Zum Seitenanfang

ich möchte das wenn in einer box der wert geändert wir das sich der wert in der Box wo der wert drin steht sich ändert ( z.B. in Box 1 steht 1 drin und wird in 2 geändert so sollte sich der wert in der Box 2 wo ja 2 drin steht in 1 ändern.
  View user's profile Private Nachricht senden
ruerueka

Dabei seit: 18.07.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 19.07.2007 14:38
Titel

Antworten mit Zitat Zum Seitenanfang

ich bin mir nicht sicher, ob ich ganz verstanden habe, was du benötigst, aber vielleicht kommt ja folgendes Beispiel deinem Bedarf nahe:

Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<script language="JavaScript">

// Die Werte, die in den Listen angezeigt werden sollen.
// Das kannst du ja mit der Sprache deiner Wahl serverseitig erzeugen.
// (sieht übrigens gruselig aus, dein Code ....)
// Für den Rest brauchst du dann nur noch HTML / JS.
var listModel = new Array();
listModel[0]='a';
listModel[1]='b';
listModel[2]='c';


// laedt die beiden Listen direkt nach dem Seitenaufbau mit denselben Werten
function loadModels(){
     for(i=0; i<listModel.length; i++){
        newEntryA = new Option(listModel[i], listModel[i], false, true);
        document.formular.listA.options[document.formular.listA.length]= newEntryA;
        document.formular.listA[0].selected=true;

      newEntryB = new Option(listModel[i], listModel[i], false, true);
        document.formular.listB.options[document.formular.listB.length]= newEntryB;
        document.formular.listB[0].selected=true;

     }

}

// setzt den gewaehlten Wert einer Liste in der anderen Liste
function changeSelection( sourceList, targetList){
   targetList.selectedIndex = sourceList.selectedIndex;
}

</script>

</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" VLINK="#800000" ALINK="#FF00FF" BACKGROUND="?">
<form name="formular">
<select name="listA" onChange="javascript: changeSelection(this, document.formular.listB);"></select>
<select name="listB" onChange="javascript: changeSelection(this, document.formular.listA);"></select>

</form>
<script language="JavaScript">
// initialisiert das Laden der Listen nach dem vollstaendigen Aufbau der Seite.
loadModels();
</script>

</BODY>
</HTML>



Getestet habe ich den Code in Mozilla Firefox. Wie IE sich verhält, kann nich nicht sagen.
Weitere Informationen zu diesem Thema findest du hier: http://de.selfhtml.org/javascript/objekte/options.htm


Zuletzt bearbeitet von ruerueka am Do 19.07.2007 14:46, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen CSS dynamisches layout
Dynamisches Dropdown
dynamisches bild ?
dynamisches Textfeld
[Flash] Dynamisches Datum
Dynamisches PDF online schreiben...
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.