Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
模板内的jQuery data()方法_Jquery_Jquery Templates_Knockout.js - Fatal编程技术网

模板内的jQuery data()方法

模板内的jQuery data()方法,jquery,jquery-templates,knockout.js,Jquery,Jquery Templates,Knockout.js,我正在尝试将jQuery模板与Knockout.js结合使用,以获得一个良好的解耦UI和逻辑webapp。在上一次迭代中,我通过循环创建了一个数据列表,并使用data()方法将我正在格式化的实际对象添加到列表项中-这意味着我可以在单击后轻松提取对象,然后对其执行操作,例如: function createBusCatListItem(busCat) { var $item = $("<li>"); $item.data("busCat", busCat); v

我正在尝试将jQuery模板与Knockout.js结合使用,以获得一个良好的解耦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;
}
函数createBusCatListItem(busCat){
变量$item=$(“
  • ”); $item.data(“总线型”,总线型); var$text=$(“”).html(busCat.busCatName) $text.addClass(“listText”); $text.单击(函数(){ handleCategoryClick(本); }); $text.appendTo($item); 返回$item; }
  • 有没有一种方法可以在jQuery模板中使用data(),或者它只处理标记,所以我应该将id放在“data id”标记中,并将其用作查找,例如:

     <script id="selectableCategory" type="text/html">
            <li data-id="${busCatCode}"> ${busCatName} </li>
        </script>
    
    
    
  • ${busCatName}
  • 所有建议均获衷心接纳

    干杯


    T

    如果要访问呈现模板时使用的对象,可以使用tmplItem()。数据如下所述:


    下面是一个关于JSFIDLE的示例:

    您能给我们一个原始javascript的示例看看吗?是的,就是这个示例-我稍微更新了您的示例:以演示它是实际对象。美好的