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

あなたが言ったことから、要素productdetailsに対してHtml.DropDownListForを使用してすでに作成されたドロップダウンを持つモデルがあり、ajax呼び出しからそれを移入したいと思います。

したがって、このようなjQueryajax呼び出しを行います

$.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オブジェクトを返すことに注意してください。

于 2012-10-09T14:42:36.350 に答える