我需要构建一个jQuery脚本,该脚本将选择一个button
,其中包含接收change()
事件的表单type=submit
。
这是我想出的代码:
var categoryEditForms = $('form.category-edit-block');
categoryEditForms.change(function(form) {
var submitButton = $(form).find('button[type=submit]');
});
运行此代码后,categoryEditForms
包含页面上存在的 4 个表单。 submitButton
是一个 length
等于 0 的 JS 对象。我只会补充一点,提交按钮存在于页面上的每个表单中。
我应该如何修改我的代码以抓取所需的提交按钮?
change
事件中的form
变量是事件本身,而不是形式。使用 this
检索父窗体:
var categoryEditForms = $('form.category-edit-block');
categoryEditForms.change(function() {
var submitButton = $(this).parents("form").find('button[type=submit]');
});
更好的主意是委派您的事件,这样您只有一个event
,例如:
categoryEditForms.on("change", function() {
var submitButton = $(this).parents("form").find('button[type=submit]');
});
你必须遍历 DOM 才能找到提交按钮:
var categoryEditForms = $('form.category-edit-block');
categoryEditForms.change(function() {
var submitButton = $(this).parents('form').eq(0).find('button[type=submit]');
});