所以我有这个 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/