在Bootstrap模式中添加和删除Div

时间:2015-08-21 15:55:37

标签: jquery html twitter-bootstrap

我正在尝试在我的模式(来自引导程序)上显示有关用户输入的帐户的警报(例如无效帐户)。

但是,(例如,我输入了一个错误的帐户)在收到错误响应后再添加它然后再次输入错误的帐户时,它不会删除我之前提到的上一个警告。

以下是发生的事情:
Prepends alert every time i click the button

这是我的HTML代码:

<div class="modal-body modal-login">
  <?php include( 'login.php'); ?>
  <form name="test" action="" method="post" role="form" id="loginForm">
    <input type="text" class="form-control userTB" name="loginText" placeholder="Username/Email" required>
    <input type="password" class="form-control passTB" name="passText" placeholder="Password" required>
    <a href="javascript:void(0)" class="btn btn-info btn-md" id="submit_button">Login</a>
  </form>
</div>

我的jQuery:

jQuery(function ($){
    $('#submit_button').click(function(){
        var post_url = 'login.php';

        $.ajax({
            type : 'POST',
            url : post_url,
            data: $('#loginForm').serialize(),
            dataType : 'html',
            async: true,
            success : function(data){
            	$('.modal-login').remove('.alert');
                $('.modal-login').prepend(data);
            }
        });
    })           
});

注意:来自jQuery的data包含<div class="alert alert-danger">Wrong Account!</div>

1 个答案:

答案 0 :(得分:2)

$(el).remove(selector)有些令人困惑。它基本上意味着从文档中移除el,如果匹配selector&#34;。如果你的jQuery对象有多个元素并且你要过滤哪些元素,那么这就更有意义了。

如果您将代码更改为.remove('.modal-login'),则会发现它会删除整个模式。

您应该使用.find然后使用.remove

$('.modal-login').find(".alert").remove();
$('.modal-login').prepend(data);