2016-12-12 41 views
0

我有以下行的代碼視圖:上加載運行腳本DropDownListFor

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

這時候下拉被改變的偉大工程,但我不能工作,如何運行腳本時首先加載下拉菜單。

+0

沒有onload事件下拉在jquery中。而是在下拉加載時觸發onchange事件。這個鏈接可能會幫助你.http://stackoverflow.com/questions/14984598/jquery-execute-onchange-event-on-onload – Anadi

+0

我想我需要更多地閱讀jquery,因爲該鏈接並沒有完全意義對我來說。 –

回答

0

我通過改變下拉到得到這個工作:

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

並添加以下額外的腳本(調用我原來的功能):

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

我認爲這可能幫助你,但這種方法使用jQuery的

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

這個jquery會在頁面加載時運行嗎? –

+0

嗨@AndrewLackenby,我改變了代碼使用'$(document).ready(function(){});'更容易理解 – roicp