0

こんにちは皆さん、非常に興味深い状況にあります。

ドロップダウンリストからのメディアタイプを必要とするビューモデルがあります*ドロップダウンリストはによって生成されます

@Html.DropDownListFor(m => m.MediaType, Model.MediaTypeList)

フォームに手で入力すると、フォームのすべての値は問題なく、関数は正常に機能します。

しかし、その後、ファイルをアップロードするたびにドロップダウンリストの値を設定するjquery関数を実装しました。ファイルのメディアタイプが自動的に検出されます。

function setValueToDropDown(media){                                        
    $('#MediaType').attr('disabled','');   
    var value = media;
    $('#MediaType').val(value);   
}

そして、ドメイン検証を送信すると、ドロップダウンリストがオプションである場合でも、フィールドが必要であることがわかり、コンソールで関数を実行して値がnullとは異なることを確認します。

alert($('#MediaType').val()) 

ドロップダウンに値を動的に割り当てると、mvcがそれを認識しない理由がわかりません。私はどこを見ても問題を見つけることができません。

4

2 に答える 2

1

<select>要素の値を有効にして設定するには、これで十分です。

var setValueToDropDown = function(media) {
  $('#MediaType').prop('disabled', false).val(media);
};

バージョン 1.6 以降のように、 .prop()を使用してプロパティを管理する必要があります。disabledまた、DOM の準備が整った後にスクリプトを実行していることを確認してください。;)

于 2012-05-21T09:33:42.653 に答える
1

あなたが実行するスクリプトがどのように見えるか、またそれが何をするかはわかりません。しかし、スクリプトはプロパティではなくvalue 属性を探している可能性がありますvalue

これを使用してみてください:

function setValueToDropDown(media){                                        
    $('#MediaType').attr('disabled','');   
    var value = media;                    // Why do you save media in value...?
    $('#MediaType').attr("value", value);   
}
于 2012-05-21T08:54:51.003 に答える