如果在x-tmpl脚本中使用jQuery变量的语句

时间:2015-04-25 13:26:18

标签: javascript jquery templates if-statement

所以我在页面底部有一个x-tmpl脚本。此脚本打印出文件中每条记录的行表。这是脚本的一部分:

<script id="template-download" type="text/x-tmpl">
<td>

            {% if (file.deleteUrl) { %}
                <button class="btn btn-danger delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
                    <i class="glyphicon glyphicon-trash"></i>
                    <span>Delete</span>
                </button>
                <input type="checkbox" name="delete" value="1" class="toggle">
            {% } else { %}
                <button class="btn btn-warning cancel">
                    <i class="glyphicon glyphicon-ban-circle"></i>
                    <span>Cancel</span>
                </button>
            {% } %}
</td>
</script>

我想检查我的URL中的变量(?user = xxx)是否不等于文本值,以便不在脚本中显示删除按钮。我想要比较的值是在我的javascript中定义的:

var phpuser = '<?php echo $tuser; ?>'; //where $tuser is the GET variable
var tusername= $('#myname').text();

我试过以下内容:

<script id="template-download" type="text/x-tmpl">
var phpuser = '<?php echo $tuser; ?>';
var tusername= $('#myname').text();

<td>
        {% if ((file.deleteUrl)  && (phpuser==tusername)) { %}
            <button class="btn btn-danger delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
                <i class="glyphicon glyphicon-trash"></i>
                <span>Delete</span>
            </button>
            <input type="checkbox" name="delete" value="1" class="toggle">
        {% } else { %}
            <button class="btn btn-warning cancel">
                <i class="glyphicon glyphicon-ban-circle"></i>
                <span>Cancel</span>
            </button>
        {% } %}
</td>
</script>

但是,控制台出现&#34; phpuser未定义&#34;。任何人都可以提出任何见解吗?欢呼声。

1 个答案:

答案 0 :(得分:0)

为按钮添加了隐藏的样式,如果两个变量彼此相等,则添加以下内容:

$('.deletebutton').show();