Jquery定位代码并调用它

Jquery positioning code and recalling it

本文关键字:调用 代码 定位 Jquery      更新时间:2023-09-26

所以我有这束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命令来更改数据库中的一行,以便通过Ajax将新信息传递给它,当ajax调用成功返回时,我想做的是重新运行嵌套在$(document).ready()函数中的第一个ajax调用,以便在加载文档时生成的第一个表使用固定信息重新生成。

关于同一主题的另一个问题是在ajax调用下面,我有嵌套在$(document).on('click', '.viewTD'...中的模态ajax,我遇到的问题是,当我打开模态并在该模态中填写表单时(该表单是由第一次打开模态时调用的ajax生成的,$("#myModal").modal('show')...区域是特定的),但在这样做之后,ajax调用永远不会运行,除非我嵌套模态jquery区域中以$(document).on('click', '.viewTD'...开头的ajax。这样做的问题是,为了返回固定表,我不得不将其粘贴到打开模态时首次运行的jquery中,直到该表单的ajax调用成功。这部分是"有效的",尽管在我看来是非常破碎的解决方案,因为如果不关闭并重新打开模态,我就无法添加第二条评论。我想我可以解决这个问题,如果我能回忆起以前的jquery,而不必粘贴进去,这就是我上面试图做的。知道我怎么能做到这一点吗。

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

很抱歉第一次解释不清楚。

如果我理解您的问题,您可以定义函数并重用。

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

这就是你想做的?