jquery - 选择 jquery 模板中的多个元素

标签 jquery jquery-templates

我试图在单击按钮时更改模板中一个或多个元素的类。我拥有的样本通常都会找到带有 .tmplItem 的一项,但我不太清楚如何实现我想要做的事情。这或多或少是一个概念证明。

我的结构如下。

var messages = [
{ Body: "Testing 1", Read: "0" },
{ Body: "Testing 2", Read: "1" },
{ Body: "Testing 3", Read: "0" },
{ Body: "Testing 4", Read: "1" }
];

我的模板是:

    <script id="messageTemplate" type="text/html">
        {{if Read == "1"}}
        <tr class="hdnMessage">
            <td class="hdnMessage" >
<input type="checkbox" id="cbHasReadMessage" checked="checked">
</td>
        {{else}}
        <tr class="showMessage">
            <td><input type="checkbox" id="cbHasReadMessage"></td>
        {{/if}}        
        <td>${Body}</td>
        </tr>
</script>

CSS 是:

<style type="text/css">
.hdnMessage 
{
    display:none;
}
.showMessage
{
    display:block;
}
</style>

我在模板之外有一个按钮

<input type="button" value="Show Read Messages" id="btnShowHideReadMessages" />

我添加了一个点击事件:

$("#btnShowHideReadMessages").click(function() {    
if (showingReadMessages) {
      showingReadMessages = false;
      $(this).val("Show Read Messages");
//try to find checked checkboxes and set the class of the tr which is its parent
}    
else {
      showingReadMessages = true;
      ///Try finding all the current hidden TRs
      var hdnMessages = $("tr.hdnMessage").tmplItem();
      var hdnMsg = hdnMessages.data;
      var hdnElement = hdnMessages.nodes;
      $(hdnElement).replaceWith($('.showMessage'));
      }    
});

最后一个脚本片段不完整,因为我不知道如何让它工作。任何帮助将不胜感激。

最佳答案

从模板中完全删除 class="showMessage" 然后将代码的底部部分更改为如下所示:

$("#btnShowHideReadMessages").click(function() {  
     $("tr.hdnMessage").toggleClass('hdnMessage');
});

关于jquery - 选择 jquery 模板中的多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7665858/

相关文章:

javascript - JavaScript/jQuery/AJAX 中的嵌套模板

javascript - 我怎样才能修复这个 jQuery 循环来给我我想要的东西?

javascript - 想要生成带有猫头鹰图像的轮播

jquery - 使用 jquery 模板在 chrome 中超出最大调用堆栈大小错误

internet-explorer-8 - IE8 中的 knockout.js 1.3 和 jquery templates 1.0pre 问题

jQuery .template 和 .tmpl 无法正常工作

javascript - 使用 jQuery FormData.append 将值附加到 $_POST 数组

javascript - 附加动态内容后 onclick 不起作用

javascript - 保持上一页的类别

jquery - jTemplates 与 jQuery 模板。哪一个更好?有更好的吗?