如何将数据附加到MVC4的下拉列表中?

时间:2012-10-08 11:41:33

标签: html asp.net-mvc-4 append

大家好我在我的应用程序中动态地将数据附加到下拉列表但是我在这里有一个错误,下拉列表已经创建,但是在下拉列表之外的值被绑定可以任何人在这里纠正我在哪里我做错了

      if(product.oPTIONS.length>0)
            {
            alert(product.oPTIONS.length);
            $.each(product.oPTIONS, function (idx, options) {                    
                $("#productdetails").append('<label>' + options.OptionName + '</label>');
                if(options.value.length>0)
                {
                    var stringBuilder = [];                      
                    $("#productdetails").append('<select>');
                    $.each(options.value, function (idx, values) {
                        stringBuilder.push('<option id="' + values.OptionvalueID + '">' + values.OptionValue + '</option>');                    
                    });
                     stringBuilder.push('</select>');
                    $("#productdetails").append(stringBuilder.join(''));
                }
            });

1 个答案:

答案 0 :(得分:0)

根据你的说法,我猜你已经有一个带有下拉列表的模型已经使用Html.DropDownListFor为元素productdetails创建,并且你想从ajax调用中填充它。

所以你想像这样做一个jQuery ajax调用

$.ajax({
                url: "/SomeController/SomeDetails",
                type: "GET",
                success: function (data) {
                    $("#productdetails option").remove();
                    $.each(data, function (key, value) {
                        $('#productdetails')
                                    .append($("<option></option>")
                                    .attr("value", key)
                                    .text(value));
                    });
                }
            });

如果您不想删除select的旧值,则只需删除行$(“#productdetails option”)。remove();

另请注意,我的控制器方法返回选项元素的键值对的JSON对象。