这是之前提出的问题的后续问题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")