我尝试使用动态生成的内容打开模式弹出窗口,到目前为止它还不能很好地运行。我的PHP代码生成一组带有事件标题的元素,当点击标题时,我需要打开一个弹出窗口,它的内容再次是动态的。
以下是我的代码:
<?php
echo '<span id="rentalRates" name="rentalRates" ><u style="cursor:pointer;"><h2>'.$row["header"].'</h2></u></b></span>
<div style="width:550px;overflow-y:auto;" class="details" id="divAuditoriumGuidelines">
<div id="divRentalRates'.$x.'" title="Rental Rates" name = "divRentalRates'.$x.'">
<p>'.$row["longDescription"].'</p> </div>';
echo '</div>
<div class="closer"></div>
</div>
</li>';
$x = $x + 1;
?>
以下是我的jQuery:
$("#divRentalRates0").dialog(
{
autoOpen: true,
width: 750,
height: 650,
show:
{
effect: "blin",
duration: 1000
},
hide:
{
effect: "explode",
duration: 1000
}
});
$("#rentalRates1").click(function()
{
$("#divRentalRates0").dialog("open");
});
$("#rentalRates2").click(function()
{
$("#divRentalRates0").dialog("open");
});
然而,这不起作用。但是如果我在循环之外放置一个静态模态弹出窗口,它可以正常工作。有人可以帮帮我吗?
答案 0 :(得分:1)
$(document).on('click','#rentalRates1,#rentalRates1',function()
{
$("#divRentalRates0").dialog("open");
});
以上代码可以使用,但更具体地说,
使用此解决方案:
$(document).on('click','[id^="rentalRates"]',function()
{
$("#divRentalRates0").dialog("open");
});
使用事件委派 - on()