javascript - Jquery定位代码并调用它

标签 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 调用之一中的成功函数重新运行。我试图理解的一个例子是,我在其中运行一些 Ajax 命令来更改数据库中的一行,以通过 ajax 将新信息传递给它,在其中添加注释 Here 1该 ajax 调用成功返回,我想做的是重新运行嵌套在 $(document).ready() 函数中的第一个 ajax 调用,以便在加载文档时重新生成第一个表具有固定的信息。

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

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

抱歉第一次解释不清楚。

最佳答案

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

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

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

这就是你想要做的事情?

关于javascript - Jquery定位代码并调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37284508/

相关文章:

php - Redis session disable_locking 为真

javascript - 如何在没有 JavaScript 的情况下强制 HTML 元素保持恒定的宽高比?

python - Django Ajaxviews.py无法获取对象ID并返回404

javascript - jQuery:克隆输入值及其样式

javascript - 检查文本字段是否仅包含数字且必须为 11 位数字

javascript - Moment.js unix 时间戳与纪元时间戳不匹配

javascript - 使用 $.Ajax 调用 UBER api

javascript - 使用 moment 获取上个月的月份名称

javascript - 在网页中播放多首歌曲

php - 从头开始编写像 osCommerce 这样的 PHP 购物车需要多长时间?