我正在尝试在jQuery BlockUI脚本上使用重复区域,但它无法工作。
这是我现在使用的代码:
<?php do { ?>
<script type="text/javascript">
$(document).ready(function() {
$('#t<?php echo $row_dd31['dNo']; ?>').click(function() {
$.blockUI({ message: $('#q<?php echo $row_dd31['dNo']; ?>'), css: { width: '1024px' } });
});
$('#yes').click(function() {
// update the block message
$.blockUI({ message: "<h1>Remote call in progress...</h1>" });
$.ajax({
url: 'wait.php',
cache: false,
complete: function() {
// unblock when remote call returns
$.unblockUI();
}
});
});
$('#no').click(function() {
$.unblockUI();
return false;
});
});
</script>
<?php } while ($row_dd31 = mysql_fetch_assoc($dd31)); ?>
为什么不起作用?
可以不使用PHP重复区域和JavaScript吗?如果没有,有没有其他选择?
这是模态对话框的代码:
<!-- modal -->
<?php do { ?>
<div id="q<?php echo $row_dd31['dNo']; ?>" style="display:none; cursor: default">
<h3>Driver <?php echo $row_dd31['dNo']; ?></h3><p>
<input type="button" id="yes" value="Save" style="width: 75px; height: 50px;"/> <input type="button" id="no" value="Exit" style="width: 75px; height: 50px;"/>
</div>
<?php } while ($row_dd31 = mysql_fetch_assoc($dd31)); ?>
这是瓷砖的生成方式:
<tr height="100px" align="center">
<?php do { ?>
<td style="background-color: <?php echo $row_dd1['colour']; ?>;">
<input type="hidden" id="<?php echo $row_dd1['dNo']; ?>">
<button type="submit" class="link" id="t<?php echo $row_dd1['dNo']; ?>"><span><?php echo $row_dd1['dNo']; ?></span></button>
</td>
<?php } while ($row_dd1 = mysql_fetch_assoc($dd1)); ?>
</tr>
答案 0 :(得分:2)
我认为问题是你正在尝试生成jQuery以适应每个自定义行id,这在理论上有效,但我会说这是非常糟糕的应用程序设计。我建议写一个简单的脚本,可以一次处理所有行,例如
<div class="my-row-to-bind-jquery-to" id="xyz">...</div>
<div class="my-row-to-bind-jquery-to" id="xyz1">...</div>
<div class="my-row-to-bind-jquery-to" id="xyz2">...</div>
<div class="my-row-to-bind-jquery-to" id="xyz3">...</div>
然后你可以简单地将ui的阻塞和解除阻塞绑定到类而不是像下面的每个个体id
$(document).ready(function() {
$('.my-row-to-bind-jquery-to').click(function() {
var id = this.id;
// do the rest of your stuff here
});
});
答案 1 :(得分:1)
好的,你能详细说明
$.blockUI({ message: **$('#parent-row-container')** ...
应该是?
另外,您在javascript控制台中是否收到任何错误?