在HTML5中显示数据仅显示第一个字段

时间:2013-12-16 20:23:51

标签: html knockout.js

我有一个HTML5页面,我想在使用knockout绑定中显示数据,我可以得到第一个显示数据的字段,之后我什么都没看到。如果我删除了第一个字段,则第二个字段显示正确,如果我将第一个字段放回,则它是唯一要显示的字段。如果我在其中放置一个固定值正确显示。我已经确认,无论我在哪里尝试绑定都存在值,并且绑定是正确的(例如,如果第一个字段不存在,则第二个字段会正确绑定)。

这是我的HTML,请告诉我是什么问题(我是HTML菜鸟):

<table>
            <thead>
                <tr>
                    <td></td>
                    <td>debit amount</td>
                    <td>credit amount</td>
                    <td>count</td>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>work</td>
                    <td data-bind="text: accountBalance().WorkDebitAmount"/>
                    <td data-bind="text: accountBalance().WorkCreditAmount"/>
                    <td data-bind="text: accountBalance().WorkCount"/>
                </tr>
                <tr>
                    <td>open</td>
                    <td data-bind="text: accountBalance().OpenDebitAmount"/>
                    <td data-bind="text: accountBalance().OpenCreditAmount"/>
                    <td data-bind="text: accountBalance().OpenCount"/>
                </tr>
                <tr>
                    <td>history</td>
                    <td data-bind="text: accountBalance().HistoryDebitAmount"/>
                    <td data-bind="text: accountBalance().HistoryCreditAmount"/>
                    <td data-bind="text: accountBalance().HistoryCount"/>
                </tr>
            </tbody>
        </table>

1 个答案:

答案 0 :(得分:0)

您不应期望表格单元格元素自动关闭。

<td data-bind="text: accountBalance().HistoryDebitAmount"></td>

现在,既然你对淘汰赛世界显得“新”,我也会在你的身上加上一个'with'绑定:

<tbody data-bind="with: accountBalance">...</tbody>

然后,在表格单元格声明中,您不再需要重复绑定元素:

<td data-bind="text: HistoryDebitAmount"></td>

还有一步,我不会直接在表格单元格上进行文本绑定,而是在表格单元格中插入标签或其他元素:

<td><label data-bind="text: HistoryDebitAmount"></label></td>

总而言之,自我封闭的问题可能会解决所有问题。