JQuery添加/删除类不工作的第二次
我有一个表单向用户注册一些信息。 提交后,会进行ajax调用,将数据插入到数据库中,并返回状态码。 根据状态,我显示一个div。 该div有一个“隐藏”的初始类和一个关闭按钮。 从PHP返回后,我删除“隐藏”类并添加“警告 - 危险”或“警告 - 成功”类。
一旦用户点击close(x)按钮,我再次添加“hidden”类,并检查元素是否具有“alert-danger”或“alert-success”类并将其删除。 这是第一次(或至少隐藏)。 但是,div并不是第二次出现。
我在这里失踪的是什么?
这是div
<div class="alert alert-block fade in status hidden">
<button type="button" class="close" data-dismiss="alert">×</button>
<h4 class="message-head"></h4>
<p class="message"></p>
</div>
这是成功/错误时运行的代码
$.ajax({
type:"post",
url:"register.php",
data:"name="+name+"&phone="+phone+"&email="+email+"&msg="+msg,
success:function(data){
if(data.status === 'success'){
//show the status msg
$('.message-head').text("Thank You");
$('.message').text("Your Request has been taken");
$(".status").removeClass("hidden").addClass('alert-success');
}else {
$('.message-head').text("Sorry");
$('.message').text("There is some Error. Please Try Again Later");
//alert(data.status);
$('.status').removeClass('hidden').addClass('alert-danger');
}}
这里是关闭按钮点击的代码
$('.close').click(function(){
if ( $('.status').hasClass("alert-danger") ) {
$('.status').removeClass("alert-danger").addClass("hidden");
}else if ( $('.status').hasClass("alert-success") ) {
$('.status').removeClass("alert-success").addClass("hidden");
}
});
我为你准备了一个简单的小提琴
链接:http://jsfiddle.net/qyyegwhu/1/
你是否包括课程:在css中隐藏:
.hidden{
display: none;
}
否则,我无法复制该问题?
我并不完全确定,但我相信,使用引导JS函数打开它们时,关闭Bootstrap警报应该可以开箱即用。
这应该适用于开放:
$('.message-head').text("Thank You");
$('.message').text("Your Request has been taken");
$('.alert').alert();
不需要关闭警报的代码,因为警报会自动关闭,如引导示例http://getbootstrap.com/javascript/#alerts
编辑:另一种方法是用JavaScript创建警报。 这将是你的两个问题的解决方案。 (见JSFiddle)
链接地址: http://www.djcxy.com/p/69731.html