2017-01-17 12 views
1

私はビューバック値を持つKO選択リスト選択項目のデフォルト値を設定しようとしています。knockout js mvc viewbagからデフォルト値を選択

これはほとんど私がそこに得たが、値はここでハードコードされています。ここで

Knockout js , mvc drop down default value is not selecting

function VehicleTypesViewModel(){ 
    var self = this; 
    self.VehicleTypeId = null; 
    self.VehicleTypes = []; 
}  
var viewModel = new VehicleTypesViewModel(); 

$.get(urlPath + "/GetVehicleTypes", function (data) {  
    viewModel.VehicleTypeId = 32; 
    viewModel.VehicleTypes = data; 
    ko.applyBindings(viewModel); 
}); 

32は、選択した値であるが、私は、これはビューバッグからする必要があります。私はKOのビューモデルで私のビューバッグの値を取得して保存するために別のajaxコールを作成する必要がありますか?すべての助けに感謝します。

+1

このJSが '.js'ファイルにある場合、ビューバッグを使用することはできません。コードが '.cshtml'ファイルにある場合は、viewbagで注入することができます。 – mrogers

+0

それは.jsファイルにあります。ありがとう、私は私のKOファイルに別の呼び出しを行う必要があります私の答えをくれましたビューバックアイテムをもたらす。 – Camp

答えて

0

あなただけの属性「データ」とビュー(CSHTML)にviewbagデータを置くことができます。

data-*
<div class="selected-vehicle" data-selected-id="@ViewBag.SelectedID" 

は、HTMLの属性、保存して、ビューのデータを更新するには絶好の場所です。

は、その後、あなたの.jsファイルで、あなただけのjqueryのdata methodコールでデータを取り出すことができます

... 
viewModel.VehicleTypeId = $(".selected-vehicle").data("selected-id"); 

それがお役に立てば幸いです。

関連する問題