首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Knockout Js下拉菜单未加载来自WebAPi服务的值

Knockout Js下拉菜单未加载来自WebAPi服务的值
EN

Stack Overflow用户
提问于 2013-01-09 22:28:23
回答 1查看 1.6K关注 0票数 0

Knockout Js下拉菜单未加载来自WebAPi服务的值

代码如下,请帮帮我。

这是对下拉菜单的knock js调用

代码语言:javascript
复制
<select data-bind="options: menus, optionsText: 'text', optionsValue: 'pk_smartMenuID',  optionsCaption: 'Choose...'"></select>

Web APi调用

代码语言:javascript
复制
    // GET api/SmartMenu
    public IEnumerable<SmartMenu> GetSmartMenus()
    {
        var smartmenus = _db.SmartMenus.Include(s => s.ParentSmartMenu);
        return smartmenus.AsEnumerable();
    }

这是用于联系web api服务器调用的视图模型(脚本

代码语言:javascript
复制
@section Scripts { 
@Scripts.Render("~/bundles/jqueryval") 
@Scripts.Render("~/bundles/knockout") 

<script type="text/javascript">
    function MenuViewModel() {
        var self = this;
        var baseUri = '@ViewBag.ApiUrl';
        self.menus = ko.observableArray([]);
        self.selectedMenu = ko.observable();

        self.addMenu = function(formElement) {
          // If valid, post the serialized form data to the web api 
          $(formElement).validate();
          if ($(formElement).valid()) {
            $.post(baseUri, $(formElement).serialize(), null, "json")
            .done(function(o) { self.menus.push(o); });
          }
        };

        $.getJSON(baseUri, self.menus);
      }

      $(document).ready(function() {
        ko.applyBindings(new MenuViewModel());
      });
</script> 
} 
EN

回答 1

Stack Overflow用户

发布于 2013-01-10 21:57:27

由于json数据在链表中需要迭代,所以我在http://knockoutjs.com/documentation/json-data.html中得到了答案

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14237434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档