In aC# MVC-Projekt, war ich eine Ansicht von einem Front-End-Designer gegeben, das dieses kleine Skript enthält:Konvertieren eine statische Javascript-Funktion, um dynamische
<script>
$('#PhaseDD').change(function() {
var chosenValue = $(this).val();
$('.ProcessDD').hide();
if (chosenValue == "")
$('#DefaultProcess').show();
if (chosenValue == "Planning")
$('#PlanningProcess').show();
if (chosenValue == "Procurement")
$('#ProcurementProcess').show();
if (chosenValue == "Installation")
$('#InstallationProcess').show();
if (chosenValue == "Closure")
$('#ClosureProcess').show();
});
</script>
Ich mag würde all die hartcodiert ersetzen Optionen mit einer Liste, die aus dem Modell kommt. Etwas wie das ...
<script>
$('#PhaseDD').change(function() {
var chosenValue = $(this).val();
$('.ProcessDD').hide();
if (chosenValue == "")
$('#DefaultProcess').show();
// loop over a list from the model here
if (chosenValue == " loop-item-name ")
$('# loop-item-name + Process').show();
// end loop
});
</script>
Ist das möglich? Wenn das so ist, wie? Und mache ich das überhaupt richtig? Ich dachte, ich könnte Rasierersyntax verwenden, aber das funktioniert nicht.
Was ist damit: '$ ('#' + selectedValue + 'Process'). Show()'? Sie brauchen dafür keine Liste. –
'$ (" # "+ (selectedValue ||" Default ") +" Prozess "). Show();' – Pointy
Warum benutzen Sie wenn sonst? füge Process direkt zur Variablen hinzu –