| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

08-01-2010, 10:50
|
|
m-werk
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Beiträge: 168
|
|
Combobox Disabled schalten, wenn ID = 7
Hallo Leute, ich hab ein kleines problem:
Das ist mal meine ComboBox:
PHP-Code:
function comboGrund($Grund_ID)
{
global $db;
$ausGID = 0;
$ausGName = 'leer';
$str_sql = 'SELECT * FROM tbl_grund';
$result = $db->select($str_sql,1);
$option_str_grund = '';
foreach ($result as $row)
{
$selected = '';
if ($Grund_ID == $row[0])
{
$selected = 'selected';
$ausGID = $row[0];
$ausGName = $row[1];
}
$option_str_grund .= '<option value="'.$row[0].'" '.$selected.'>'.$row[1].'</option>';
}
return $option_str_grund;
}
In einer anderen Funktion Frage ich bzw. kann ich daraus auswählen:
PHP-Code:
echo '<td><select class="cbgrund" name="grund_id'.$date.'">'.comboGrund($row['Grund_ID']).'</select></td>';
Jetzt möchte ich aber, wenn der "Grund_ID" = 7, dann soll dieses echo "DISABLED" sein.
Zur Zeit steht die Bezeichnung des Grund_ID = 7 in der Combobox. (Da steht "Feiertag") Das funktioniert ja.
Aber es ist weiters möglich, den Grund manuell zu ändern. Das möchte ich verhindern.
Bitte um hilfe
__________________
LG, m-werk
|

08-01-2010, 10:56
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Wenn ich dich richtig verstanden habe, willst du ein einzelnes option-Element auf disabled setzen. Richtig? Dann muss ich dir leider mitteilen, dass da der IE 6/7 nicht mitspielt.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

08-01-2010, 11:00
|
|
m-werk
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Beiträge: 168
|
|
aha, danke für die Info.
Und wie seht es im IE 8 und im FF 3.5 aus? Da würde es gehen? Dann bräuchte ich bitte deine hilfe.
__________________
LG, m-werk
|

08-01-2010, 11:04
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Wo ist denn das Problem?
PHP-Code:
if (7 == $Grund_ID)
{
$selected = 'disabled';
}
else if ($Grund_ID == $row[0])
{
...
}
Ist zwar ein wenig blöd, die Variable $selected auf disabled zu setzen, sollte aber funktionieren.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

08-01-2010, 11:16
|
|
m-werk
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Beiträge: 168
|
|
Danke, das würde schon mal funktionieren.
Ich kann keinen anderen Grund auswählen, aber sehrwohl die anderen Gründe sehen, wenn ich auf den Pfeil klicke.
Was mir jetzt wieder abhanden gekommen ist, ist dass ich in der Combobox den Wert "Feiertag" nicht mehr sehe.
PHP-Code:
if (in_array($datenormal,$feiertag))
{
comboGrund($row['Grund_ID'] = 7);
}
Damit zeige ich in der Combobox "Feiertag" an.
Jetzt wird nur ein " - " angezeigt.
__________________
LG, m-werk
|

08-01-2010, 11:56
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

08-01-2010, 12:00
|
|
m-werk
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Beiträge: 168
|
|
?? versteh ich jetzt nicht!
Es stand zuvor immer der Wert "Feiertag" in der ComboBox drinn. Seit dem ich im Code $selectet = 'disabled' habe, wird der Grund, welche die ID 7 hat, nicht mehr als Wert angezeigt. Da steht nur der 1. Eintrag drinn und das ist ein -.
Ich möchte wieder den Grund 7, also "Feiertag" in der Combobox stehen haben.
__________________
LG, m-werk
|

08-01-2010, 12:14
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Zitat:
Zitat von m-werk
?? versteh ich jetzt nicht!
Es stand zuvor immer der Wert "Feiertag" in der ComboBox drinn. Seit dem ich im Code $selectet = 'disabled' habe, wird der Grund, welche die ID 7 hat, nicht mehr als Wert angezeigt. Da steht nur der 1. Eintrag drinn und das ist ein -.
Ich möchte wieder den Grund 7, also "Feiertag" in der Combobox stehen haben.
|
Dann hast du irgendwo einen Fehler eingebaut. Wie sieht denn der erzeugte(!) HTML-Code für das select-Element aus?
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

08-01-2010, 12:19
|
|
m-werk
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Beiträge: 168
|
|
HTML-Code:
<select class="cbgrund" name="grund_id2010-01-06">
<option value="1" disabled>-</option>
<option value="2" disabled>Urlaub</option>
<option value="3" disabled>Zeitausgleich</option>
<option value="4" disabled>Krankenstand</option>
<option value="5" disabled>Berufschule</option>
<option value="6" disabled>Sonderurlaub</option>
<option value="7" disabled>Feiertag</option>
<option value="8" disabled>Ü-Std. auszahlung</option>
</select>
Es wird das value 1 angezeigt und nicht das 7.
__________________
LG, m-werk
|

08-01-2010, 12:27
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Ups, da habe ich was falsch verstanden.
PHP-Code:
if ($Grund_ID == $row[0])
{
if (7 == $Grund_ID)
{
$selected = 'disabled';
}
else
{
$selected = 'selected';
}
$ausGID = $row[0];
$ausGName = $row[1];
}
Meine vorherige Bedingung ist ja immer wahr, daher steht überall ein disabled.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

08-01-2010, 12:34
|
|
m-werk
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Beiträge: 168
|
|
Ups, das ist jetzt ganz falsch.
Jetzt wird mir in jeder ComboBox der letzte Eintrag angezeigt mit der ID 8 und weiters in der Zeile, wo die ID 7 greifen sollte, wird weiterhin nichts angezeigt.
Da muss, glaube ich, wo anders angesetzt werden.
PHP-Code:
if (7 == $Grund_ID)
{
$selected = 'selected disabled';
}
Da wird jetzt zwar etwas angezeigt, aber wieder die ID 8 und nicht die 7. Ich müsste noch die ID 7 dazubringen
__________________
LG, m-werk
|

08-01-2010, 12:39
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Hast du dir die $Grund_ID in der Funktion mal ausgeben lassen? Ansonsten hilft hier nur ein vernünftiges Debugging
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

08-01-2010, 12:50
|
|
m-werk
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Beiträge: 168
|
|
Sorry, hab deinen vorigen Beitrag nur zu 90 % gelesen.
PHP-Code:
function comboGrund($Grund_ID)
{
global $db;
$ausGID = 0;
$ausGName = 'leer';
$str_sql = 'SELECT * FROM tbl_grund';
$result = $db->select($str_sql,1);
$option_str_grund = '';
foreach ($result as $row)
{
$selected = '';
if ($Grund_ID == $row[0])
{
if (7 == $Grund_ID)
{
$selected = 'disabled';
}
else
{
$selected = 'selected';
}
$ausGID = $row[0];
$ausGName = $row[1];
}
$option_str_grund .= '<option value="'.$row[0].'" '.$selected.'>'.$row[1].'</option>';
}
return $option_str_grund;
}
Jetzt habe ich folgendes Problem:

Es wird weiterhin nichts angezeigt und bearbeiten kann ich es auch wieder bis eben auf "Feiertag" das kann ich nicht auswählen.
Es gehört aber "Feiertag" angezeigt und bearbeiten darf ich die gesamte Combobox nicht.
__________________
LG, m-werk
|

08-01-2010, 12:56
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Zitat:
Zitat von m-werk
Es gehört aber "Feiertag" angezeigt
|
Dann betreibe mal ein sauberes Debugging. Ohne Daten kann ich nur raten.
Zitat:
Zitat von m-werk
und bearbeiten darf ich die gesamte Combobox nicht.
|
Dann musst du das disabled auf das select-Element legen.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

08-01-2010, 13:12
|
|
m-werk
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Beiträge: 168
|
|
Wie erstelle ich ein sauberes Debugging?
__________________
LG, m-werk
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|