Ich habe ein Formular, das viele ausgewählte Menüs hat, die meisten von ihnen sind Ja/Nein und je nach der ausgewählten Option, zeige ich/verstecken einige erweiterte Optionen. Eines des Auswahlmenüs ist die folgende:Javascript Wie man die gleiche Funktion onLoad und onChange
<td><%= f.select :CBIAvailable, ['Yes' , 'No'],{}, {:id=>"cbi_available_id", :class=>"cbi_available_class", :onChange=>"showHideOptions('cbi_available_id','cbi_options_id')", :onLoad=>"showHideOptions('cbi_available_id','cbi_options_id')"} %></td>
Wenn ich von ‚Ja‘ auf ‚Nein‘ oder das Gegenteil, showHideOptions ändern JavaScript-Funktionen richtig genannt werden, aber ich kann nicht diese Funktion muss aufgerufen werden, wenn Ich lade das Formular neu.
Jeder kann mir sagen, was mache ich falsch?
Dank
UPDATE
<script language="javascript" type="text/javascript">
function showHideOptions(selectorId,optionsId) {
if (document.getElementById) {
var selector = document.getElementById(selectorId);
var options = document.getElementById(optionsId);
if (selector.value == 'Yes') {
options.style.display = 'block';
return false;
} else {
options.style.display = 'none';
return false;
}
}
window.onLoad = showHideOptions('cbi_available_id','cbi_options_id');
Ich verstehe nicht. Onload wird aufgerufen, wenn das Formular (erneut) geladen wird. Was hast du erwartet? –
in meinem Fall,: CBIAvailable = 'Nein', so erwarte ich ShowHideOptions Funktion ausgeführt werden, wenn ich das Formular neu laden und es sollte die relevanten Optionen für 'Nein' anzeigen, aber das Formular wird tatsächlich mit den Optionen für 'Ja' geladen. Wenn ich das Auswahlmenü auf "Nein" ändere, funktioniert es gut und wenn ich es wieder auf "Nein" ändere, funktioniert es auch. Das Problem ist, es zeigt nicht die richtigen Optionen onload – rh4games