0

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

      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(''));
                }
            });
4

1 回答 1

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));
                    });
                }
            });

如果您不想删除选择的旧值,则只需删除 $("#productdetails option").remove(); 行

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

于 2012-10-09T14:42:36.350 回答