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

发布于 2024-12-28 12:45:43 字数 836 浏览 1 评论 0原文

我有一个 asp.net mvc2 页面,我在其中使用淘汰赛显示带有标题和描述的数据。我想隐藏描述并根据单击的标题显示描述。任何帮助将不胜感激。我还想将 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>

I have a asp.net mvc2 page where I display data with titles and descriptions using knockout. I want to hide descriptions and show description based on clicked title. any help would be appreciated. Also I would like to apply h1 tag to title.

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寄风 2025-01-04 12:45:43

这是您正在寻找的吗?

工作演示 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>

Is this is what You are looking for?

Working demo 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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文