我一直在努力解决我认为简单的JQuery选择器问题,但我现在已经搞砸了一段时间并且似乎无法获得理想的结果。
我有一个包含多个li的无序列表,它们是包含表单元素的隐藏div的兄弟;所以我在页面上基本上有多个表单。在不使用ID或其他类的情况下,我希望能够在提交相应的表单时“隐藏”或“slideUp”当前的“隐藏”div元素。
// if(data ==“感谢您的提交。代表会尽快与您联系。”){'关闭表格包含div'}
任何帮助都将非常感激。可在此处查看网站和问题的实时版本:http://clients.jayjodesign.com/executive-council/staging/events.php
答案 0 :(得分:2)
您在$(this)
方法的成功处理程序中使用post
,而这不会指向正在提交的form
。您应该将this
实例存储到本地变量中,然后在成功处理程序中使用它。试试这个
$(".event-form").submit(function(event) {
var $form = $(this);
var action = $form.attr('action'),
$fields = $form.serializeArray();
$.post(action, $fields, function(data, textStatus, xhr) {
alert(data);
if(data == "Thank you for your submission. A representative will contact you soon."){
$form.parent('div.right-column').slideUp();
}
});
return false;
});