我的脚本中有很多jquery函数但是特定的函数不起作用,这是我的函数
$('#delete').click(function() { var id = $(this).val(); $.ajax({ type: 'post', url: 'update.php', data: 'action=delete&id=' + id , success: function(response) { $('#response').fadeOut('500').empty().fadeIn('500').append(response); $(this).parent('tr').slideUp('500').empty(); } }); });
像这样的类似功能正在发挥作用
$('#UpdateAll').click(function() { $.ajax({ type: 'post', url: 'update.php', data: 'action=updateAll', success: function(response) { $('#response').fadeOut('500').empty().fadeIn('500').append(response); $('#table').slideUp('1000').load('data.php #table', function() { $(this).hide().appendTo('#divContainer').slideDown('1000'); }); } }); });
我用firebug检查,控制台没有显示任何错误,我检查html源的值正在加载正确,我检查我的PHP文件5次它是正确的无法弄清楚问题.请帮忙.
我连续6小时都遇到了完全相同的问题!解决方案是使用jquery'live'.
就是这样.
$('#submit').live('click',function(){ ...code... });
对于第一个,我会alert()
在click匿名函数中加入一个快速而令人讨厌的东西,以确保它被触发.消除它可能无法正常工作的原因.此外,尝试使用Live HTTP标头或Firebug的控制台来查看是否正在发送AJAX请求.
如果未触发点击,请查看您是否选择了正确的选择器.我经常这样做(非常讨厌)
var testSelector = 'p:first ul li:last'; $(testSelector).css( { border: '1px solid red' } );
它并不总是可见,但如果你在生成的标记中看到style ="border:1px solid red",你知道你的选择器在球上.
也许你有另一个覆盖它的点击?尝试使用
$('#delete').bind('click', function() { // do it });