Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        2年前关闭。
                                                                                            
                
        
我正在尝试在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重复区域与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>

最佳答案

我认为问题在于您正在尝试生成适合每个自定义行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
  });
});

10-04 15:20