0

我正在尝试在 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)); ?>

为什么它不起作用?

不能在 JavaScript 旁边使用 PHP 重复区域吗?如果没有,是否有任何替代品可以使用?


这是模态对话框的代码:

<!-- 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>
4

2 回答 2

2

我认为问题在于您正在尝试生成适合每个自定义行 ID 的 jQuery,这在理论上可行,但我会说这是非常糟糕的应用程序设计。我建议编写一个可以一次处理所有行的简单脚本,例如。

<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
  });
});
于 2010-11-19T03:18:10.477 回答
1

Ok would you able to elaborate on what the

$.blockUI({ message: **$('#parent-row-container')** ...

is supposed to be?

Also, are you getting any errors in your javascript console?

于 2010-11-19T04:02:03.157 回答