所以我有这个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调用的成功块中重新运行。
对不起第一次不清楚的解释。
答案 0 :(得分:1)
如果我理解你的问题,你可以定义功能并重复使用。
function hereOne(tid) {
$.ajax({type: 'post',url: 'resolveTicket.php',data: 'tid=' +tid, success: function(s){
$('#resolvedTicket').html("Resolved");
}});
}
$('#Resolved').click(hereOne(tid));
这就是你想要做的事情?