2015-05-19 112 views
1

我有从的getJSON调用填充如下图所示如何预填充下拉

查看下拉列表

@{ 
    var NoticeFilter =(X.Models.Y.Z.NoticesEntity) ViewData["NoticeFilter"]; 
} 


<div class="form-group"> 
    <label>Field Office</label> 
    <select data-bind="options: FieldOffice, value: selectedFieldOffice, optionsCaption:'Choose...', optionsValue:'FieldOfficeID', optionsText:'Name'"> 
     @if(NoticeFilter!=null) 
     { 
      <option value="@NoticeFilter.FieldOfficeID" selected></option> 
     } 
    </select> 
</div> 

当我直接到该页面和发送数据到NoticeFilter我想在下拉列表中选择预先与Noticefilter其他值之间在价值的价值。如何做我实现这个

我想知道是否有方法在剃须刀的HTML,我可以设置默认值下拉后从数据绑定从KO JS

回答

0

WORKING 我发现这是访问的ViewData或ViewBag在我的JS

我用KO JS optionsAfterRender如下

VIEW

<select data-bind="options: SubType, value: selectedSubType, optionsValue:'SubTypeID', optionsText:'SubTypeDescription',optionsAfterRender:function(){setOptionST(@Noticefilter .SubTypeID);}"></select> 
单程几次尝试后

JS

在视图模型

self.setOptionST = function (x) { 
     //here we can do whatever is intended to in my case to set the initial value in dropdown 
     self.selectedSubType(x); 
    }; 
1

你试过吗?

<script> 
var str = @Html.Raw(Json.Encode(ViewData["Text"])); 
</script> 
+0

因为我为了使用JS淘汰赛下来,因此数据绑定到下降的问题我不能使用此。 – sss111

+0

只需将该数据绑定添加到该剃须刀语句的对象htmlattribute部分即可。 “@data_bind”是“数据绑定” – imGreg

+0

但这是否正常工作,因为我没有为视图初始化模型,并且大多数时间Noticefilter为空。 – sss111