Knockout-sortable - 列表项中的多个元素

时间:2014-10-07 15:59:06

标签: knockout.js jquery-ui-sortable knockout-sortable

我正在处理以下示例jsfiddle并将其更改为此jsfiddle

我试图改变它以允许多个元素绑定到数组中的对象,但无论我做什么,只渲染带有data-bind的第一个元素。我确信我错了,但我不明白为什么我错了。

以下不应该呈现两个标签,第一个带有名称,第二个带有ID?

<div class="list">
    <h2>Stored procedures In DB 2</h2>
    <ul class="list" id="sortableForDB_2" data-bind="sortable: storedProceduresInDB2">
        <li><div><label class="item" data-bind="text: Name" />
                 <label class="item" data-bind="text: Id" /></div></li>
    </ul>
</div>

提前谢谢

编辑1:顺便说一下,它肯定与data-bind有关,因为以下工作正常:

<div class="list">
    <h2>Stored procedures In DB 2</h2>
    <ul class="list" id="sortableForDB_2" data-bind="sortable: storedProceduresInDB2">
        <li><div><label>1</label>
                 <label>2</label></div></li>
    </ul>
</div>

1 个答案:

答案 0 :(得分:3)

必须正确形成label元素才能使绑定起作用 - 即它必须具有结束标记:

<div class="list">
    <h2>Stored procedures In DB 2</h2>
    <ul class="list" id="sortableForDB_2" data-bind="sortable: storedProceduresInDB2">
        <li><div><label class="item" data-bind="text: Name"></label>
            <label class="item" data-bind="text: Id"></label></div></li>
    </ul>
</div>

Updated fiddle

关于正确形成label element

  

标记省略:无,开始和结束标记都是必需的。