我有以下代码:
<input id="unassignButton" class="unassignButton" type="button" value="[[Unassign]]" onclick="javscript:unassignImage({$file.sid},{$listing_sid});"/>
在最终代码中,可能会生成多个类似的输入{$file.sid},{$listing_sid}
所以我可以,例如:
<input class="unassignButton" type="button" value="Unassign" onclick="javscript:unassignImage(1533,185);">
<input class="unassignButton" type="button" value="Unassign" onclick="javscript:unassignImage(1558,290);">
现在我想创建一个链接,该链接将逐个调用具有unassignButton ID的所有输入的“onclick”函数javscript:unassignImage
,并将正确的参数视为unassignImage(1558,290)...
我该怎么做?
提前致谢, Arky
答案 0 :(得分:5)
$("#unassignAll").on('click', function () {
$(".unassignButton").trigger('click');
});
这将同时调用绑定到所有取消分配按钮的click
回调。
答案 1 :(得分:1)
您可能最好在javascript中分配点击处理程序而不是标记。另外 - 请确保您没有为每个按钮指定相同的ID unassignButton
,因为ID应该始终是唯一的,而类可以共享:
包含数据属性的标记:
<input id="{someUniqueId}" class="unassignButton" type="button" value="[[Unassign]]" data-fileSid="{$file.sid}" data-listingSid="{$listing_sid}"/>
javascript:
$(document).ready(function(){
// bind click handler to each button using the data attributes above
$('input.unassignButton').on('click', function(){
unassignImage($(this).data('fileSid'),$(this).data('listingSid'));
});
// bind click handler to 'unassignAll' button/link (assumes you have a button with class 'unassignAll'
$('input.unassignAll').on('click', function(){
$('input.unassignButton').trigger('click');
});
});
有关数据属性的详细信息,请参阅the Jquery docs on .data()