Javascript 变量函数(Twig)
Javascript Variable Function (Twig)
我的default.htm(设置唯一ID)
{ % set uid = __SELF__.id % }
<div id="tab" name="{{uid}}" class="my-tab draggable-tab ui-draggable">
<img id="tab-avatar" alt="Virtual agent avatar" style="height:50px; width:50px" src="{{__SELF__.avatarImage}}">
<div id="tab-minimize">
<div id="tab-label"></div>
<div id="tab-expand" name="{{uid}}" class="tab-expand tab-btn"></div>
<div id="tab-close" name="{{uid}}" class="tab-close tab-btn" onclick="tabClose()"></div>
</div>
</div>
JS
function tabClose(){
var uid = document.getElementsByName("name");
$(this).click(function() {
$("#tab").addClass("hidden"); //<--- how to put the uid in?
});
}
JS
var tab_{{uid}} = function tabClose(){
$("#tab-close").click(function() {
$("#tab").addClass("hidden");
});
}
有人可以告诉我如何在 JavaScript 中使用 twig 吗?
如何为每个组件设置唯一的id,这样我复制组件时就不会出现任何错误?
不能在客户端程序(javascript)中调用服务器变量(twig)。
您必须在 html 代码中写入 twig 变量,以便 javascript 捕获它。
比如tout可以放在data属性里
<div id="tab-close" data-uniqid={{uid}} >
在你的 js 中
var uid = $("#tab-close").data('uniqid');
或您的更新
var uid = $("#tab").attr('name');
更新
对于你的问题,我认为你的 js 中不需要 Twig 变量,这个变量在你的 html 代码中有 uniq Id。
所以,试试这个:
<div id="tab{{__SELF__.id}}" class="my-tab draggable-tab ui-draggable">
<img id="tab-avatar{{__SELF__.id}}" alt="Virtual agent avatar" style="height:50px; width:50px" src="{{__SELF__.avatarImage}}">
<div id="tab-minimize{{__SELF__.id}}">
<div id="tab-label{{__SELF__.id}}"></div>
<div id="tab-expand{{__SELF__.id}}" class="tab-expand tab-btn"></div>
<div id="tab-close{{__SELF__.id}}" class="tab-close tab-btn" onclick="tabClose()"></div>
</div>
在你的 js 中
$(".tab-close").click(function() {
$(this).closest(".my-tab").addClass("hidden");
});
我的default.htm(设置唯一ID)
{ % set uid = __SELF__.id % }
<div id="tab" name="{{uid}}" class="my-tab draggable-tab ui-draggable">
<img id="tab-avatar" alt="Virtual agent avatar" style="height:50px; width:50px" src="{{__SELF__.avatarImage}}">
<div id="tab-minimize">
<div id="tab-label"></div>
<div id="tab-expand" name="{{uid}}" class="tab-expand tab-btn"></div>
<div id="tab-close" name="{{uid}}" class="tab-close tab-btn" onclick="tabClose()"></div>
</div>
</div>
JS
function tabClose(){
var uid = document.getElementsByName("name");
$(this).click(function() {
$("#tab").addClass("hidden"); //<--- how to put the uid in?
});
}
JS
var tab_{{uid}} = function tabClose(){
$("#tab-close").click(function() {
$("#tab").addClass("hidden");
});
}
有人可以告诉我如何在 JavaScript 中使用 twig 吗?
如何为每个组件设置唯一的id,这样我复制组件时就不会出现任何错误?
不能在客户端程序(javascript)中调用服务器变量(twig)。
您必须在 html 代码中写入 twig 变量,以便 javascript 捕获它。
比如tout可以放在data属性里
<div id="tab-close" data-uniqid={{uid}} >
在你的 js 中
var uid = $("#tab-close").data('uniqid');
或您的更新
var uid = $("#tab").attr('name');
更新
对于你的问题,我认为你的 js 中不需要 Twig 变量,这个变量在你的 html 代码中有 uniq Id。
所以,试试这个:
<div id="tab{{__SELF__.id}}" class="my-tab draggable-tab ui-draggable">
<img id="tab-avatar{{__SELF__.id}}" alt="Virtual agent avatar" style="height:50px; width:50px" src="{{__SELF__.avatarImage}}">
<div id="tab-minimize{{__SELF__.id}}">
<div id="tab-label{{__SELF__.id}}"></div>
<div id="tab-expand{{__SELF__.id}}" class="tab-expand tab-btn"></div>
<div id="tab-close{{__SELF__.id}}" class="tab-close tab-btn" onclick="tabClose()"></div>
</div>
在你的 js 中
$(".tab-close").click(function() {
$(this).closest(".my-tab").addClass("hidden");
});