css - 单击标题时在 Knockout 中显示说明

标签 css animation knockout.js

我有一个 asp.net mvc2 页面,我在其中使用 knockout 显示带有标题和描述的数据。我想隐藏描述并根据点击的标题显示描述。任何帮助,将不胜感激。另外,我想将 h1 标签应用于标题。

<div id="dataDiv">
<table style="text-align: left" border="0">
    <tbody>
        <!-- ko foreach: list -->
        <tr>
            <td colspan="2" data-bind="text: title">
            </td>               
        </tr>
        <tr>
            <td colspan="2" data-bind="text: description">
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <hr style="border-top: 1px dotted #f00; color: #fff; background-color: #fff; height: 1px;
                    width: 100%;" />
            </td>
        </tr>
        <!-- /ko -->
    </tbody>
</table>

最佳答案

这就是您要找的吗?

工作演示 http://jsfiddle.net/Rgxy9/

HTML:

<table style="text-align: left" border="0">
    <tbody data-bind="foreach: list">
        <tr>
            <td colspan="2" data-bind="click: $root.select">
                <h1 data-bind="text: title" />
            </td>               
        </tr>
        <tr data-bind="visible: $root.selected() == $data">
            <td colspan="2" data-bind="text: description">
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <hr style="border-top: 1px dotted #f00; color: #fff; background-color: #fff; height: 1px;
                    width: 100%;" />
            </td>
        </tr>
    </tbody>
</table>
<script type="text/javascript">

    var item = function(title, desc) {
        this.title = ko.observable(title);
        this.description = ko.observable(desc);
    };

    var vm = function() {
        var self = this;
        this.list = ko.observableArray([new item('some', 'desc'),
                                 new item('som2', 'desc2')]);

        this.selected = ko.observable();
        this.select = function(item) {
            self.selected(item);
        };
    };

    ko.applyBindings(new vm());
</script>

关于css - 单击标题时在 Knockout 中显示说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8966285/

相关文章:

jquery - .mouseover 正在激活,而 .mouseleave 函数仍在播放

css - “display: flex” 内的 "column-count"在 Firefox 和 IE 中呈现单列

unity-game-engine - Unity - 如何在运行时更改玩家 Sprite 表?

javascript - 哪种解决方案性能最佳

css - 如何使 Knockout 成为 Knockout 可见标签使用 display :none ! 重要

knockout.js - 使用 knockoutjs 显示层次结构(树)

javascript - 显示/隐藏开关

python - Django 可以找到我的静态文件,Pycharm 无法解析它们

css动画在不同浏览器上不流畅

javascript - 在 knockout View 模型中使用 `var self = this`有什么优势?