我有以下结构:
<div>
<button class="buttonClass">Click Me</button>
</div>
<div>
<form id="formID">...</form>
</div>
提交表单时,我想模拟点击buttonClass
这就是我正在尝试的但它没有找到按钮并模拟点击:
$.ajax({
type: "POST",
url: URL,
context:this,
data: $(this).serialize(),
success: function (data) {
$(this).closest('.buttonClass').click(); // not finding button
}
});
页面上有多个表单和按钮,所以我只想点击最近的buttonClass
答案 0 :(得分:1)
假设$(this)
是表单,因为您使用$(this).serialize
$(this).closest('.buttonClass').click()
无法找到该按钮,因为它不是表单的祖先,而是在其他地方。
你需要一个包含表格和按钮的祖先来遍历
<div class="wrapper">
<div>
<button class="buttonClass">Click Me</button>
</div>
<div>
<form id="formID">...</form>
</div>
</div>
然后你就可以找到它
$(this).closest('.wrapper').find('.buttonClass').click();
答案 1 :(得分:1)
我认为当前上下文中的$(this)
引用了表单元素。你可以使用:
$(this).parent().prev().find('.buttonClass').click();