2016-12-12 4 views
0

ich eine Ansicht mit der folgenden Codezeile haben:Run Skript zum Laden DropDownListFor

@Html.DropDownListFor(m => m.FrequencyTypes, (List<SelectListItem>)ViewBag.FreqTypes, null, new { @onchange = "toggleOptionalDisplay(this.value)", @class = "form-control" }) 

Dies funktioniert gut für, wenn der Drop-Down geändert wird, aber ich kann Sie nicht arbeiten, wie das Skript ausgeführt werden, wenn die Drop-down wird zuerst geladen.

+0

Es gibt kein Onload-Ereignis für Drop-Down in Jquery. Stattdessen wird das Ereignis onchange bei der Dropdown-Last ausgelöst. Dieser Link kann Ihnen helfen.http: //stackoverflow.com/questions/14984598/jquery-execute-onchange-event-on-onload – Anadi

+0

Ich denke, ich muss noch etwas über jquery nachlesen, da dieser Link keinen Sinn ergab mir. –

Antwort

0

ich diese Arbeit bekam durch das Drop-down auf sich ändernde:

@Html.DropDownListFor(m => m.FrequencyTypes, (List<SelectListItem>)ViewBag.FreqTypes, null, new { @onchange = "toggleOptionalDisplay(this.value)", @class = "form-control", @id = "freqtype", @style = "width:300px;" }) 

und die folgenden zusätzlichen Skript (welche Anrufe Meine ursprüngliche Funktion):

<script> 
    $(document).ready(function() { 
     toggleOptionalDisplay($("#freqtype").val()); 
    }) 
</script> 
0

ich denke, das Ihnen helfen können, aber dieser Ansatz nutzt jQuery

$(document).ready(function() { 
    $('select[name="FrequencyTypes"]').change(); 
}); 
+0

Wird diese jquery ausgeführt, wenn die Seite geladen wird? –

+0

Hi @AndrewLackenby, ich habe den Code geändert, um '$ (document) .ready (function() {});' zu verwenden, um einfacher zu verstehen – roicp