如何使用knockout.js在mvc中设置所选选项asp.net?

kb5ga3dv  于 2022-11-10  发布在  .NET
关注(0)|答案(2)|浏览(121)

我正在尝试设置一个基于从模型接收的值的默认选择的选项。我正在使用asp.net mvc和knockout js进行数据绑定。

//Model.TestValue =“DEF”
指令码区段。

<script>
var model = {
            MyData: ko.mapping.fromJS(@Html.Raw(Json.Serialize(Model)))
        };

ko.applyBindings(model);  
</script>

查看部分:剃刀

@{
   var mydropdownlist = new SelectList(
        new List<SelectListItem>
        {
new SelectListItem {Text = "ABC", Value = "1"},
new SelectListItem {Text = "DEF", Value = "3"},
new SelectListItem {Text = "GHI", Value = "5"}
        }, "Value", "Text");

}

查看部分HTML。

<select data-bind="options: mydropdownlist, optionsText:'text', value:MyData.testValue "></select>

现在,mydropdownlist已填充好,但我无法将“DEF”设置为默认选中。

wrrgggsh

wrrgggsh1#

使用mydropdownlist中的所需选项引用设置可观察属性MyData.testValue。
(mydropdownlist. items()[1])中的一个数据项;//定义
示例:
$(函数(){

var VmClass = function() {
        self.MyOptions = ko.observableArray([
            { Name: 'Jhon', Age: 45 }, { Name: "Peter", Age: 67 }, { Name: 'Oliver', Age: 90}
        ]);

        self.SelectedOption = ko.observable();

        // can select after binding initialized as well.
        self.ClickMeToSelect = function() {
            self.SelectedOption(self.MyOptions()[2]);
        };
        self.ClickMeToSelect();
    };

    var vmInstance = new VmClass();
    ko.applyBindings(vmInstance, document.getElementById('[element-id]')); 
});
mzsu5hc0

mzsu5hc02#

这就是你想要达到的目标吗?
第一个

相关问题