通过ASP.NET MVC服务器代码填充Knockout Drop Downs

时间:2014-05-19 13:43:17

标签: asp.net-mvc knockout.js

所以我是淘汰赛的新手,我在网上搜索无法找到答案。情况就是这样。我在asp.net mvc局部视图中有一个下拉列表。它通过一个具有值和@Html帮助器的viewmodel填充,特别是dropdownlistfor。我在网上看到的示例似乎需要一个依赖的可观察数组,但下拉列表的所有值都是在javascript(硬编码)/而不是服务器端代码中设置的。我只想在所选值更改时(例如:对于实时预览类型功能),使跨度观察下拉列表的输出。任何帮助都会非常感激,因为我确信我错过了一些简单的东西。谢谢!

1 个答案:

答案 0 :(得分:1)

这样的东西?

<select data-bind="event: {change: mySelectChange},value:myValue">
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
</select>
<span data-bind="text:myText"></span>


<script>...

function ViewModel()
{
    var self = this;
    this.myValue = ko.observable();
    this.myText = ko.observable();

    this.mySelectChange = function (obj, evt) {
        var item = $(evt.currentTarget);
        self.myText(item.find('option:selected').text());
    };
}

...
</script>