Javascript 单击链接以执行函数?
我想在点击链接后运行一个函数 我想指向函数的链接是带有Javascript 单击链接以执行函数?,javascript,jquery,Javascript,Jquery,我想在点击链接后运行一个函数 我想指向函数的链接是带有cancelLink类的链接。这里的第一个链接向您展示了如何获取AppointmentId。第一个链接通过向另一个页面传递参数来工作 我想能够点击取消链接,并在当前页面上运行一个功能 以下是我的链接: <a href="Invoices/InvoiceCreate.aspx?AppointmentId=${AppointmentId}">Invoice</a> | <a href="#" cla
cancelLink
类的链接。这里的第一个链接向您展示了如何获取AppointmentId。第一个链接通过向另一个页面传递参数来工作
我想能够点击取消链接,并在当前页面上运行一个功能
以下是我的链接:
<a href="Invoices/InvoiceCreate.aspx?AppointmentId=${AppointmentId}">Invoice</a> |
<a href="#" class="cancelLink" data-attr=${AppointmentId}>Cancel</a>
当前代码未进入此单击功能,我如何实现此功能?我觉得您的代码很好。这是一张工作票。您是否尝试过放置“console.log(“示例测试”);”在你的点击处理程序里面,看看它是否在发射?您是否可以同时发布您是如何将代码包装到$(document).ready()中的 你是这样做的吗
$(document).ready(function() {
$('a.cancelLink').click(function () {
var appointmentId = $(this).attr("data-attr");
//var appointmentId = $(this).attr("appointmentId");
MemberWebService.AppointmentStatusUpdate(appointmentId, 3, function () {
window.location = 'AppointmentViewAll.aspx';
});
});
});
试试这个:
$('a.cancelLink').click(function (e) {
e.preventDefault();
var appointmentId = $(this).attr("data-attr");
//var appointmentId = $(this).attr("appointmentId");
MemberWebService.AppointmentStatusUpdate(appointmentId, 3, function () {
window.location = 'AppointmentViewAll.aspx';
});
});
我希望能有所帮助。我找到了一些可能的原因,请参阅我的评论 HTML
请参阅和。使用onclick方法调用函数并添加参数
<a href="#" onclick="bindCancel(${AppointmentId})">Cancel</a>
function bindCancel(appointmentId) {
MemberWebService.AppointmentStatusUpdate(appointmentId, 3, function () {
});
}
函数bindCancel(任命ID){
MemberWebService.AppointmentStatusUpdate(appointmentId,3,函数(){
});
}
我觉得你的代码不错。您在浏览器控制台上看到任何错误吗?@ClaudioRedi没有在浏览器控制台上看到任何错误。$('a.cancelink')。单击(函数(e){e.preventDefault()});写下这篇文章,看看它是否有效。加载页面时,是在页面上添加#cancelLink,还是在加载后呈现/加载?如果它已经加载,您是否在domReady中执行。单击()
?在获得AppointId警报(appointmentId)后,尝试将警报放入click处理程序中代码>谢谢,我尝试了此操作,但我的断点从未进入此函数。单击函数。是的,链接位于模板内。尝试添加一些自定义数据attr=“12”并查看它是否进入单击?仍然没有移动到我的onclick中?我的代码看起来与上面包装在$(document.ready())中的代码相同。如果运行$('a.cancelLink')在浏览器控制台中,它会显示什么?
<a href="Invoices/InvoiceCreate.aspx?AppointmentId=${AppointmentId}">Invoice</a>
<a href="#" class="cancelLink" data-attr="${AppointmentId}">Cancel</a> // Use quotes
$(document).ready(function() { // Only access elements once the DOM is loaded
$(document).on('click', 'a.cancelLink', function(event) { // Try using on() instead of click() as you seem to be using some templating for creating the link ("${AppointmentId}").
event.preventDefault(); // Don´t follow the link to #
var appointmentId = $(this).data('attr'); // Use data() instead of attr()
console.log(event.type, appointmentId); // View your console
MemberWebService.AppointmentStatusUpdate(appointmentId, 3, function() {
window.location = 'AppointmentViewAll.aspx';
});
});
});
<a href="#" onclick="bindCancel(${AppointmentId})">Cancel</a>
function bindCancel(appointmentId) {
MemberWebService.AppointmentStatusUpdate(appointmentId, 3, function () {
});
}