Повторить регион на JQuery BlockUI скрипт не работает
Я пытаюсь использовать регион повторения в сценарии 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>
2 ответа
Я думаю, проблема в том, что вы пытаетесь сгенерировать 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>
тогда вы можете просто связать блокировку и разблокировку пользовательского интерфейса с классом, а не с каждым отдельным идентификатором, как показано ниже
$(document).ready(function() {
$('.my-row-to-bind-jquery-to').click(function() {
var id = this.id;
// do the rest of your stuff here
});
});
Хорошо, вы могли бы уточнить, что
$.blockUI({ message: **$('#parent-row-container')** ...
должно быть?
Кроме того, вы получаете какие-либо ошибки в консоли javascript?