Jquery定位代码并调用它

时间:2016-05-17 19:15:27

标签: javascript php jquery ajax twitter-bootstrap

所以我有这个jquery代码包(请注意其中一些可能是非常错误但正在工作)并且有一些方面我想回忆起函数但是我很难这样做。代码是:

$(document).ready(function(){
     $("#myTablePager").html("");
    $.ajax({
       type: "POST",      
       url: "fetchTable.php",
      data: { ticketType:  $("#selectType option:selected").val()}  
    }).done(function( msg ) { 

            $("#troubleTable").html(msg); 
            $('#myTable').pageMe({pagerSelector:'#myTablePager',showPrevNext:true,hidePageNumbers:false,perPage:10});
    });


});
$(function (){ 
   $("#selectType").change(function (){ 
    $("#myTablePager").html("");
    $.ajax({  
       type: "POST",      
       url: "fetchTable.php", 
      data: { ticketType:  $("#selectType option:selected").val()} 
    }).done(function( msg ) {
            $("#troubleTable").html(msg); 
            $('#myTable').pageMe({pagerSelector:'#myTablePager',showPrevNext:true,hidePageNumbers:false,perPage:10});
    });
   });
});
$(document).on('click', '.viewTD', function(){
   var tid = $(this).closest('tr').find('.tidTD input').val();
   $.ajax({
       type: 'post',
        url: 'modalInfo.php',
       data: 'tid=' +tid,
       success: function(d){
           $('.modal-body').html(d);
           $('.modal-title').html("Ticket ID: " + tid);
           $('#myModal').modal('show');
           var time = $('#time').val();
           var desc = $('#description').val();

           $('#Resolved').click(function(){  //Here #1
              $.ajax({type: 'post',url: 'resolveTicket.php',data: 'tid=' +tid, success: function(s){
                $('#resolvedTicket').html("Resolved");
              }});
           });

           $("#addComment").click(function(){
           $.ajax({type: 'post', data: { myData: $('#commentAdd').serialize() }, url: "addComment.php", success: function(info){
             $.ajax({
                type: 'post',
                url: 'modalInfo.php',
                data: 'tid=' +tid,
                success: function(d){
                    $('.modal-body').html(d);
                    $('.modal-title').html("Ticket ID: " + tid);
                    $('#myModal').modal('show');
                }});
           }});
           });
       }

   });
});

我要做的是调用上面的jquery从其中一个ajax调用中的成功函数重新运行。我想要理解的一个例子就是我将注释Here 1放在我正在运行一些Ajax命令的地方,以更改数据库中的一行,以便将新信息传递给它VIA ajax,当ajax调用到来时返回成功我要做的是重新运行嵌套在$(document).ready()函数中的第一个ajax调用,以便在加载文档时生成的第一个表重新生成固定信息。

关于同一主题的另一个问题是ajax调用我有我的模态ajax嵌套在$(document).on('click', '.viewTD'...中,而我遇到的问题是当我打开模态并在其中填写表单时modal(这个形式是由首次打开模态时调用的ajax生成的,$("#myModal").modal('show')...区域是specfic)但是这样做后,除非我将ajax嵌入模态中,否则ajax调用不会运行以$(document).on('click', '.viewTD'...开头的jquery区域。这样做的问题是,为了返回固定表,我必须粘贴在第一次运行的同一个jquery中,当模式打开到该表单的ajax调用成功时。这部分是“工作”虽然在我脑海中是非常破碎的解决方案,因为我无法在不关闭和重新打开模态的情况下添加第二条注释。我认为我可以解决这个问题,如果我能够回忆起之前的一些jquery,而不必粘贴,这就是我上面尝试做的事情。知道我怎么能做到这一点。

我能写的最清楚的是我如何告诉jquery在ajax调用的成功块中重新运行。

对不起第一次不清楚的解释。

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你可以定义功能并重复使用。

function hereOne(tid) {
    $.ajax({type: 'post',url: 'resolveTicket.php',data: 'tid=' +tid, success: function(s){
        $('#resolvedTicket').html("Resolved");
    }});
}

$('#Resolved').click(hereOne(tid));

这就是你想要做的事情?