Asp.net mvc .Net MVC和Kendo-基于所选选项有条件地绑定div
我快到了 我想根据所选的值显示一个特定的div 例如,如果选择了selected value=“Option1”,则显示相应的div 我在数据绑定中尝试了以下操作: 数据绑定=“如果”selectedValue()=“选项1” 我能够成功地使用data bind=“visible”selectedValue进行切换,但两个div都显示出来。我想了解对象属性本身 代码如下:Asp.net mvc .Net MVC和Kendo-基于所选选项有条件地绑定div,asp.net-mvc,c#-4.0,knockout.js,Asp.net Mvc,C# 4.0,Knockout.js,我快到了 我想根据所选的值显示一个特定的div 例如,如果选择了selected value=“Option1”,则显示相应的div 我在数据绑定中尝试了以下操作: 数据绑定=“如果”selectedValue()=“选项1” 我能够成功地使用data bind=“visible”selectedValue进行切换,但两个div都显示出来。我想了解对象属性本身 代码如下: <select data-bind=", options: availableValues, optionsText:
<select data-bind=", options: availableValues, optionsText: 'Name', value: selectedValue, optionsCaption: 'Select One'"></select>
<div data-bind="if:selectedFieldType() === 'Option1' ">
@Html.Partial("_Edit" + this.Model.Type)
</div>
<div data-bind="if:selectedFieldType() === 'Option2' ">
@Html.Partial("_Add" + this.Model.Type)
</div>
$(function () {
var testModel = {
availableValues: ko.observableArray(@Html.Json(Model.SelectedValueOptions)),
selectedValue: ko.observable(null))
};
testModel.value= ko.dependentObservable(function () {
if (this.selectedValue()) {
return this.selectedValue().Val;
}
}, testModel);
var tryGetValue = $.grep(testModel.availableSelectedValues(), function (item) {
return item.Val === '@Model.Value';
})[0] || null;
testModel.selectedValue(tryGetValue);
ko.applyBindings(testModel, $('#general-section')[0]);
});
@Html.Partial(“_Edit”+this.Model.Type)
@Html.Partial(“_Add”+this.Model.Type)
$(函数(){
var testModel={
AvailableValue:ko.observableArray(@Html.Json(Model.SelectedValueOptions)),
selectedValue:ko.可观察(空))
};
testModel.value=ko.DependentToServable(函数(){
if(this.selectedValue()){
返回此.selectedValue().Val;
}
},测试模型);
var tryGetValue=$.grep(testModel.availableSelectedValues(),函数(项){
返回项.Val=='@Model.Value';
})[0]| |空;
testModel.selectedValue(tryGetValue);
ko.applyBindings(testModel,$(“#概述部分”)[0]);
});
多亏了Artem的评论,我能够修复它-我引用的是if:value()…并且需要引用模型中引用的值,而不是绑定参数中使用的名称(例如testModel.value-value是我需要引用的值(在我的例子中是xyzType,而不是通用术语“value”)这在数据绑定选项中使用。您的可用值中的对象是什么样子的?您可能需要在您的选择中使用选项值
,因为否则您的selectedValue
将包含一个复杂对象,而不是字符串选项1
和选项2
。它可以工作-谢谢嗯,这就成功了!