2

我得到这个代码http://www.technoread.net/webdesign/javascript-a-jquery/item/89-live-table-edit-delete-with-pagination-using-jquery并修改为:

代码运行良好,但萤火虫在这部分显示错误:

$("#four_"+ID).html(four_val);
$("#five_"+ID).html(five_val);


e.stopImmediatePropagation();

}
});
}

在此处输入图像描述

  $("#edit_td").focus(function(){
  $(this).width(1500)
  });

  $(document).ready(function()
  {
  $(".delete").live('click',function()
  {
  var id = $(this).attr('id');
  var b=$(this).parent().parent();
  var dataString = 'id='+ id;
  if(confirm("Estás seguro de que quieres borrar este proceso? se borrará  completamente"))
  {
  $.ajax({
  type: "POST",
  url: "delete_ajax.php",
  data: dataString,
  cache: false,
  success: function(e)
  {
  $(".tablasuperior").hide();
  $(".tablainferior").hide();
  $("#avisoborrado").show();
  e.stopImmediatePropagation();
  }
       });
return false;
  }
  });



  //editar  click en la tr


  $(".bote").live('click',function()
 //$(".edit_tr").live('dblclick',function()
  {
  var ID=$(this).attr('id');


 $("#four_"+ID).hide();
 $("#five_"+ID).hide();



 $("#four_input_"+ID).show();
 $("#five_input_"+ID).show();


 })




 $(".guardar").live('click',function()

 {
 var ID=$(this).attr('id');

 var one_val=$("#one_input_"+ID).val();
 var two_val=$("#two_input_"+ID).val();
 var three_val=$("#three_input_"+ID).val();
 var four_val=$("#four_input_"+ID).val();
 var five_val=$("#five_input_"+ID).val();

 var dataString = 'id='+ ID  +'&name='+one_val+'&category='+two_val+'&price='+three_val+'&discount='+four_val+'&discount 2='+five_val;;
 if(one_val.length>0&& two_val.length>0 && three_val.length>0 && four_val.length>0)
 {

 $.ajax({
 type: "POST",
 url: "live_edit_ajax.php",
 data: dataString,
 cache: false,
 success: function(e)
 {

 $("#one_"+ID).html(one_val);
 $("#two_"+ID).html(two_val);
 $("#three_"+ID).html(three_val);
 $("#four_"+ID).html(four_val);
 $("#five_"+ID).html(five_val);


 e.stopImmediatePropagation();

 }
 });
 }
else
{
alert('Ingresa algo');
}

});



$(".editbox").live("mouseup",function(e)
{
e.stopImmediatePropagation();
});


$(document).mouseup(function()
{
//si hay clic en el layout esconde la edit box y muestra la de texto
$(".editbox").hide();
$(".text").show();
});


//Pagination

function loading_show(){
$('#loading').html("<img src='images/loading.gif'/>").fadeIn('fast');
}
function loading_hide(){
$('#loading').fadeOut('fast');
$("#avisoborrado").hide();
}                
function loadData(page){
loading_show();                    
$.ajax
({
type: "POST",
url: "load_data.php",
data: "page="+page,
success: function(msg)
{
$("#container").ajaxComplete(function(event, request, settings)
{
loading_hide();
$("#container").html(msg);
});
}
});
}
loadData(1);  // For first time page load default results
$('#container .pagination li.active').live('click',function(){
var page = $(this).attr('p');
loadData(page);
});           
$('#go_btn').live('click',function(){
var page = parseInt($('.goto').val());
var no_of_pages = parseInt($('.total').attr('a'));
if(page != 0 && page <= no_of_pages){
loadData(page);
}else{
alert('Ingrese un proceso entre 1 y '+no_of_pages);
$('.goto').val("").focus();
return false;
}
});

});
4

2 回答 2

4

successjquery函数的回调ajax没有事件作为其参数。它不是 DOM 事件,是异步执行的。

更新:

$(".guardar").live('click',function(e) {

  < your code here >

  if(one_val.length>0&& two_val.length>0 && three_val.length>0 && four_val.length>0)
  {
    e.stopImmediatePropagation();
    $.ajax({
      type: "POST",
      url: "live_edit_ajax.php",
      data: dataString,
      cache: false,
      success: function(data) {
        $("#one_"+ID).html(one_val);
        $("#two_"+ID).html(two_val);
        $("#three_"+ID).html(three_val);
        $("#four_"+ID).html(four_val);
        $("#five_"+ID).html(five_val);
      }
    });
  }
  else
  {
    alert('Ingresa algo');
  }
}); 
于 2013-03-15T03:06:13.520 回答
0

e在您的情况下,不是您认为的,它是从服务器接收到的数据,请查看 jQuery.ajax文档。此外,您使用的live它基本上适用于使 DOM 冒泡的事件原理,以便将在动态元素上触发的事件委托给更高级别的元素。

不过,如果你想使用它,你可以喜欢

$(".delete").live('click',function(e)
  {
    e.stopPropagation();
    e.stopImmediatePropagation();

PS不要使用live或delegate,它们都已弃用,请.on改用

于 2013-03-15T03:07:18.350 回答