这是https://stackoverflow.com/a/33550107/4662074
之前提出的问题的后续问题说实话,我只需要一个提示。我有jquery验证提交处理程序,它调用ajax查询。此查询返回一些数据,我希望在用户单击网页上的按钮时使用此数据。
现在,用户建议我不能使用我的validate的提交处理程序中的按钮附带的点击挂钩。但是我怎么能在那里传递数据呢?
我的按钮是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
。那我怎么能传递这个值?
答案 0 :(得分:2)
改为使用jquery data
:
$("#submitForm").data('transaction', transactionID);
和
var number_id = $("#submitForm").data('transaction');
请注意,这不会将属性添加到DOM中,如果通过开发人员工具检查元素,则不会看到data-transaction
,但该元素将引用数据。
编辑:
你的方法也应该有用,但正如@Tushar指出的那样,你错过了选择器中的#
:$("submitForm")
- &gt; $("#submitForm")