微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

twitter-bootstrap – 使用带淘汰的引导按钮下拉菜单

我试图使用bootstrap的漂亮风格 button dropdowns与淘汰赛.不幸的是,下拉列表是使用链接而不是< select>构建的.和knockout-bootstrap没有任何帮助的处理程序.

我已经能够使所有的样式工作(按钮类型,图标,选择/取消选择).但是,我仍然无法使点击功能起作用:

JS Fiddle Example

<div class="btn-group">
<!-- Change button type based on status -->
<button type="button" class="btn btn-small dropdown-toggle" data-bind="css: {'btn-default' : status().statusName=='Matched','btn-danger' : status().statusName=='None','btn-info' : status().statusName=='Set'}" data-toggle="dropdown">

  <!-- Add Glyph based on status -->
  <span class="glyphicon" data-bind="css: {'glyphicon-ok' : status().statusName=='Matched','glyphicon-remove' : status().statusName=='None','glyphicon-list' : status().statusName=='Set'}"></span> <span data-bind="text: status().statusName"> </span> <span class="caret"></span>
</button>

<!-- Loop for status -->
<ul class="dropdown-menu" role="menu" data-bind="foreach: $root.availableStatus">
  <!-- disable item if selected -->
  <li data-bind="css: {'disabled' : statusName==$parent.status().statusName}">
    <!-- Not working -->
    <a href="#" data-bind="click: $root.updateStatus"><span class="glyphicon" data-bind="css: {'glyphicon-ok' : statusName=='Matched','glyphicon-remove' : statusName=='None','glyphicon-list' : statusName=='Set'}"></span> <span data-bind="text: statusName"></span></a>]

解决方法

Modified JS Fiddle Example

重现步骤

>摆脱$root上的updateStatus函数.这个简单的任务你不需要它.
>将click事件绑定到$parent.status.

我们希望调用当前文章的状态函数(ko.observable).在定义锚点的位置,上下文父级是Article,因此您要使用$parent.status.当前上下文(单击$root.availableStatus的元素)是将传递给status函数的参数.

<a href="#" data-bind="click: $parent.status">...</a>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐