如何将下拉值绑定到javascript数组?

时间:2015-04-28 04:20:27

标签: javascript jquery asp.net-mvc

我在MVC工作,我必须将下拉值绑定到javascript中的数组。我该怎么做?

下拉列表 -

Html.DropDownListFor(m => m.MyActivityRequest.ToMonth, Model.MonthNames, new { @id = "monthToSelect" })

Javascript功能:

$(document).ready(function(){ 
        $("#yearToSelect").change(function(){
            var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
            var date = new Date();
            var monthVar = date.getMonth();
            var yearVar = date.getFullYear();
            if ($(this).val() < yearVar ){
                $("#monthToSelect").find('option').remove();
                for( i = 0; i < 12; i++ ){          
                    $("#monthToSelect").append($("<option>",{
                        value: months[i],
                        text: months[i]
                    }));
                };
            }

你可以看到阵列 - &#39;月份&#39;到目前为止是硬编码的。我想动态地将下拉值绑定到此数组。

2 个答案:

答案 0 :(得分:1)

Js Fiddle Demo.

在您的代码中,适当地放置以下代码。

更好的方法:

var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
var option = '';

for (i=0;i<months.length;i++){
   option += '<option value="'+ months [i] + '">' + months [i] + '</option>';
}

$('#monthToSelect').append(option);

来自here

答案 1 :(得分:0)

我认为你必须从控制器传递月份列表。因此,在javascript中,您可以进行ajax调用并返回相同的月份列表。您可以使用此列表而不是数组 - &#39;月&#39;在你的javascript函数中。