1

我正在尝试使用带有 Knockout.js 的 jQuery 模板来获得一个很好的解耦 UI 和逻辑 webapp。在之前的迭代中,我通过循环手动构建了一个数据列表,并使用 data() 方法将我正在格式化的实际对象添加到列表项中——这意味着我可以在单击后轻松提取对象,然后对其进行操作,例如:

function createBusCatListItem(busCat) {
    var $item = $("<li>");
    $item.data("busCat", busCat);
    var $text = $("<span>").html(busCat.busCatName)
    $text.addClass("listText");
    $text.click(function () {
        handleCategoryClick(this);
    });
    $text.appendTo($item);
    return $item;
}

有没有办法在 jQuery 模板中使用 data(),或者它只处理标记,所以我应该将 id 放在“data-id”标签中,并将其用作查找,例如:

 <script id="selectableCategory" type="text/html">
        <li data-id="${busCatCode}"> ${busCatName} </li>
    </script>

感谢所有建议

干杯

4

1 回答 1

2

如果您想访问在呈现模板时使用的对象,您可以使用 tmplItem().data,如下所述:http: //api.jquery.com/jquery.tmplitem/

这是关于 JSFiddle 的示例:http: //jsfiddle.net/rniemeyer/tLnwx/

于 2011-02-02T16:41:48.700 回答