第一次它的工作对我来说很好。那就是打开模态框。但是第二次当我使用Jquery append添加锚标签时它不会打开模态框。为什么我需要改变它将会是什么工作?谢谢。
更新
我正在使用Thickbox
<input type="text" name="maxprocedure" id="maxprocedure" value="1"/>
<div id="procedurecontainer">
<a title="Google Site" class="thickbox" href="http://www.google.com?width=200&height=200" >Open Here</a>
</div>
<input type="button" id="addprocedure" value="add"/>`
Jquery Code是
$(document).ready(function() {
$('#addprocedure').click(function()
{
//alert($("#maxprocedure").val());
var maxvalue=$("#maxprocedure").val();
for(var i=1;i<=5;i++)
{
var idvalue=parseInt(maxvalue)+i;
$("#procedurecontainer").append('<input type="text" value="" id="procedurecode'+idvalue+'" name="procedurecode'+idvalue+'"></input><a title="Google Site" class="thickbox" href="http://google.com?width=200&height=200">Open Here</a>');
$("#maxprocedure").val(idvalue);
}
});
});
答案 0 :(得分:1)
当文档加载完毕时,Thickbox会附加到包含a
类的所有area
,input
和thickbox
元素。
如果在加载文档后添加更多相同类型的元素,则单击它们时不会显示弹出窗口。
不修改插件实现的修复方法是手动将新元素绑定到thickbox。
固定代码:
var idvalue=parseInt(maxvalue)+i,
//store the element in a variable for better reading
$hyperlink = $('<a title="Google Site" class="thickbox" href="http://google.com?width=200&height=200">Open Here</a>');
//this attaches the element to the thickbox plugin
tb_init($hyperlink);
$("#procedurecontainer")
.append('<input type="text" value="" id="procedurecode'+idvalue+'" name="procedurecode'+idvalue+'"></input>')
.append($hyperlink);
$("#maxprocedure").val(idvalue);
答案 1 :(得分:0)
问题是“thickbox”初始化仅在首次加载主页面时发生。当您添加这些新链接时,thickbox插件不知道它们在那里,因此它们不像您的第一个链接那样初始化。
您需要在添加新元素之后使用选择器调用“tb_init”。
答案 2 :(得分:0)
你必须在附加一个标签chk后调用tb_init('a.thickbox'):http://www.jsfiddle.net/Z4yYf/7/