如果我有正常的
<?php echo "Today (".mysql_num_rows($query)."); ?>
如果有10行,那就是今天(10)。
现在在这个计数器下我有一个while()输出<tr>
内的所有行。
在tr里面的<td>
我有这个删除按钮,它隐藏了最近的'tr'。
当你隐藏'tr'时,我怎么能将今天(10)减少到今天(9)?
-
我不认为它可能与当前的计数器(mysql_num_rows),但也许如果你计算有多少'tr',在今天(),你可以做一些减少,但我不知道该怎么做这个。虽然这只是一个想法..
答案 0 :(得分:2)
相应地更改您的PHP:
<?php echo 'Today (<span class="counter">' . mysql_num_rows($query) . '</span>)'; ?>
对于你的删除按钮有这样的东西:
$('#theTable').delegate('button.delete', 'click', function (event) {
$(this).closest('tr').slideUp();
$('span.counter').text(function (index, val) {
return (parseInt(val, 10) - 1);
});
event.preventDefault();
});
请注意delegate
的使用:它比bind
每个删除按钮的事件处理程序更有效。
您必须相应地更改表格的选择器和删除按钮。
答案 1 :(得分:1)
你可以这样做:
$('.deleteButton').click(function() {
var curn = parseInt($('.counter').text(), 10);
if(curn - 1 >= 0)
$('.counter').text(curn - 1);
});
并将您的回音更改为
<?php echo "Today (<span class='counter'>".mysql_num_rows($query)."</span>)"; ?>
答案 2 :(得分:0)
包裹号码,以便您可以轻松选择:
<?php echo 'Today (<span id="number">'.mysql_num_rows($query).'</span>)'; ?>
然后单击删除按钮时:
// Get the number element once
var num = $('#number');
// Set an onclick event on your button
$('.delete').click(function(){
// Find the closest table row and remove it
$(this).closest( 'tr' ).remove();
// num.text() will get the text inside the number element
// parseInt is used to convert it from string to int
// subtract 1 to update the number
var newNumber = parseInt( num.text(), 10 ) - 1;
// And set the new number text
num.text( newNumber );
// Stop the default browser action - might cause the page to reload or to scroll
return false;
});
答案 3 :(得分:0)
将计数器输出到JavaScript var并在循环和Today()函数调用中使用它。我假设您正在尝试从服务器输出客户端函数调用?
<?php echo "var count=".mysql_num_rows($query).";Today(count);" ?>
在删除处理程序中减少计数并再次调用今天(计数)。
答案 4 :(得分:0)
尝试:http://jsfiddle.net/xMZgv/7/
Today(<span id="counter">3</span>)
<table>
<tr><td>hello</td><td>delete</td></tr>
<tr><td>world</td><td>delete</td></tr>
<tr><td>hi</td><td>delete</td></tr>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.js"></script>
<script>
$(function() {
$('table tr').find('td:last').click(function() {
$(this).parent().remove();
$('#counter').html($('#counter').html() - 1)
})
})
</script>