当AJAX请求完成时,我如何在按钮上设置data-*属性

How can I set data-* attributes on the button when the AJAX requests complete?

本文关键字:按钮 设置 data- 属性 请求 AJAX 完成时      更新时间:2023-09-26

这是之前提出的问题的后续问题https://stackoverflow.com/a/33550107/4662074

老实说,我只是需要一个提示。我有jquery验证提交处理程序,它调用ajax查询。此查询返回一些数据,我希望用户单击网页上的按钮时使用这些数据。

现在,用户建议我不能在validate的提交处理程序中使用附加在按钮上的click-hangler。但我如何将数据传递到那里?

我在html:中有我的按钮

<a class="btn btn-default" data-transaction="" name="submitForm" id="submitForm" >Submit</a>

我现在添加了一个data-transaction。在我的提交处理程序中,我正在做:

success: function(response) {
    var myNumber= (response[0].myNumber);
    $("#submitForm").attr('data-transaction', myNumber);
    alert(myNumber);

这提醒了我我的号码。但当我在成功功能之外做这件事时:

$("#submitForm").on('click', function()  {
    var number_id = $("submitForm").attr('data-transaction');
    alert("number: "+number_id );
    });                 
}       

它打印我:number: undefined。那么我该如何传递这个值呢?

改用jquery data

$("#submitForm").data('transaction', transactionID);

var number_id = $("#submitForm").data('transaction');

请注意,这不会将属性添加到DOM中,如果您通过开发人员工具检查元素,则不会看到data-transaction,但元素将引用数据。

编辑:

您的方法也应该有效,但正如@Tushar所指出的,您的选择器中缺少#$("submitForm")->$("#submitForm")