Jquery 使用.on()但数据呈倍数提交
在你给出解决方案之前。请阅读我的第一个问题 所以我的第一个问题都解决了。但数据呈倍数增长。例如:当我第一次单击时。它提交一次。当我再次单击时。它提交了两次。等如何修复它???非常混乱 这里是我的简单代码Jquery 使用.on()但数据呈倍数提交,jquery,Jquery,在你给出解决方案之前。请阅读我的第一个问题 所以我的第一个问题都解决了。但数据呈倍数增长。例如:当我第一次单击时。它提交一次。当我再次单击时。它提交了两次。等如何修复它???非常混乱 这里是我的简单代码 $(document).on('click','.page-info',function(){ $('a[href|="#status-page"]').click(function(event){ //DO THE SUBMIT DATA HERE
$(document).on('click','.page-info',function(){
$('a[href|="#status-page"]').click(function(event){
//DO THE SUBMIT DATA HERE
event.preventDefault();
//alert('testing');
//href=#page-{id}
var n='#status-page'.length;
n++;
var href=$(this).attr('href');
//pageid=get the href {id}
//pageid=id
var pageid=href.substr(n);
//Change status on database
$.get(CHANGE_STATUS+'/'+pageid);
//Change value status to active/disable
var selector='#status-page-'+pageid;
var status=$(this).html();
if(status=='Active'){
status='Disable';
}
else
{
status='Active';
}
//Change status
$(selector).html($(this).html());
$(this).html(status);
var theStyle=(status!='Active')?'isGood':'isBad';
$(selector).removeClass('isBad isGood').addClass(theStyle); // This code didn't work too :((
});
});
这里是我的简单HTML
<tr class="page-info">
<td>
<span class="isAction"><a href="#status-page-50">Disable</a> | <a href="#">Delete</a></span>
<h5><a href="#page-50">Project P</a></h5>
<p><strong>Project P</strong> - </p>
</td>
<td>2011-11-07 03:19:24</td>
<td>
<span class="cms_Status isBad">
Disable </span>
</td>
</tr>
|
项目p-
2011-11-07 03:19:24
使残废
在我的页面上,我有一个表单,可以使用jQuery添加数据,如下所示:
您已在
.page info
元素上定义了一个单击处理程序,并在此处理程序中为
元素添加了一个单击处理程序。因此,当您单击
时,它的处理程序将被调用,然后事件“冒泡”到包含
-并且
上的处理程序继续向
添加第二个单击处理程序。下次单击它时,将添加第三个单击处理程序,然后添加第四个,以此类推。这些多个处理程序不会相互替换,它们都保持活动状态,并依次调用
通过添加event.stopPropagation(),可以阻止事件“冒泡”单击
的处理程序中的code>,但实际上不会有多大帮助,因为单击
中的其他位置仍会触发其单击,将更多处理程序添加到
我不明白为什么您首先需要.info
页面上的处理程序。你能解释一下吗?我的冲动是删除第1行和第5行,即代码的第一行和最后一行,从而删除.page info
单击处理程序:
1 $(document).on('click','.page-info',function(){ // <-- delete
2 $('a[href|="#status-page"]').click(function(event){
3 // many lines of your code here
4 });
5 }); // <-- delete this line
1$(document).on('click','.page info',function(){//在我阅读stackoverflow的问题之前,这个问题已经解决了。所以为什么我使用on()。因为内容是动态的。我使用AJAX。所以如果我使用常规方法jQuery找不到动态id。所以我必须使用.on()或.live()方法来解决这个问题。但我还是得到了上面解释的另一个问题。但我自己解决了。谢谢您的参与。呵呵呵呵…@Kenjiro一旦您自己解决了,分享答案是一个很好的做法。。