我正在为我的网站使用PHP,Smarty,jQuery,Colorbox jQuery插件等。所需的所有必需文件都包含在index.tpl文件中,所以我在这里没有提到这些文件。他们被包括在内并且工作正常。 从一个聪明的模板文件我正在调用Colorbox弹出窗口。它的代码如下:
<a href="{$control_url}modules/transactions/view_transactions.php?op=user_transaction_detail&page={$cur_page}&txn_no={$my_transaction.transaction_no}&user_id={$my_transaction.transaction_user_id}&from_date={$from_date}&to_date={$to_date}{if $transaction_status!=''}&transaction_status={$transaction_status}{/if}{if $transaction_no!=''}&transaction_no={$transaction_no}{/if}#searchPopContent" class="c-icn c-edit-n inline_edit_transaction_details">edit</a>
{literal}
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$(".inline_edit_transaction_details").colorbox({href:$(this).attr('href'),width:999, height:999});
});
</script>
{/literal}
灯箱也正常显示。供大家参考我在这里附上截图。 现在我想在点击Update链接时调用jQuery AJAX函数,如附图所示。出于测试目的,我在AJAX函数的开头添加了一条警告消息,但无法调用它。供您参考我将下面的智能模板中的代码。 Colorbox弹出窗口(Smarty模板)中的代码如下:
<td><a class="edit_user_transaction_status" href="{$control_url}{$query_path}?op=edit_user_transaction&page={$page}&txn_no={$user_transaction_details.transaction_no}&transaction_data_assign={$user_transaction_details.transaction_data_assign}&user_id={$user_id}{if $user_name!=''}&user_name={$user_name}{/if}{if $user_email_id!=''}&user_email_id={$user_email_id}{/if}{if $user_group!=''}&user_group={$user_group}&{/if}{if $user_sub_group!=''}&user_sub_group={$user_sub_group}{/if}{if $from_date!=''}&from_date={$from_date}{/if}{if $to_date!=''}&to_date={$to_date}{/if}{if $transaction_status!=''}&transaction_status={$transaction_status}{/if}{if $transaction_no!=''}&transaction_no={$transaction_no}{/if}">Update</a></td>
jQuery AJAX函数如下:
$(document).ready(function() {
//This function is use for edit transaction status
$(".edit_user_transaction_status").click(function() { alert("Hello");
$(".edit_user_transaction_status").bind('click', function(){
$.colorbox.close();
});
e.preventDefault();
//for confirmation that status change
var ans=confirm("Are you sure to change status?");
if(!ans) {
return false;
}
var post_url = $(this).attr('href');
var transaction_status_update = $('#transaction_status_update').val();
$.ajax({
type: "POST",
url: post_url+"&transaction_status_update="+transaction_status_update,
data:$('#transaction_form').serialize(),
dataType: 'json',
success: function(data) {
var error = data.login_error;
$(".ui-widget-content").dialog("close");
//This variables use for display title and success massage of transaction update
var dialog_title = data.title;
var dialog_message = data.success_massage;
//This get link where want to rerdirect
var redirect_link = data.href;
var $dialog = $("<div class='ui-state-success'></div>")
.html("<p class='ui-state-error-success'>"+dialog_message+"</p>")
.dialog({
autoOpen: false,
modal:true,
title: dialog_title,
width: 500,
height: 80,
close: function(){
document.location.href =redirect_link;
}
});
$dialog.dialog('open');
}
});
});
});
我尝试了很多来调用这个函数但是无法打电话。当我检查萤火虫的控制台时,它也没有给出任何错误。所以我认为没有语法错误。任何人都可以帮我调用这个功能吗?提前谢谢。
答案 0 :(得分:0)
$(".edit_user_transaction_status").click(function(e) {
e.preventDefault(); // apply in click event not outside
alert("Hello");
});
或
$(".edit_user_transaction_status").bind('click', function(e){
e.preventDefault(); // apply in click event not outside
$.colorbox.close();
});