如何获取.click按钮来隐藏警告框

时间:2015-12-17 14:01:47

标签: javascript jquery html json

我一直在用json创建一个页面,并且有一个简单的登录。当用户ID和名称与我的json文件匹配时:

{
"user":[
{
"ID" : "001",
"imgpath":"image/zara.jpg",
 "message": " , We have new iphones avaiable",
 "name": "Zara Ali"

 },
 {
"ID" : "002",
"imgpath":"image/iphone5.jpg",
"prefer": "  Loves macs",
"name": "Laura Ali"
},
{
"ID" : "003",
"imgpath":"image/iphone5.jpg",
"message": "  Loves ipods",
"name": "Courtney Ali"
 },
 {
"ID" : "004",
"imgpath":"image/iphone5.jpg",
"message": "  Loves Ipads",
"name": "Max Ali"
}
]
}

所以名称几乎就像用户名,而id就像密码一样,当这些名称匹配时,会在页面顶部弹出一个包含用户图片,名称等的警告,如果无效用户试图输入他们的详细信息(不是json或用户名和密码的一部分与无效警报不匹配)我还有一个隐藏按钮,显示欢迎用户提醒,我已将其包括但当我点击它并尝试添加.click hide()这个功能不起作用。

这是我的脚本到目前为止包括按钮,在脚本中你会看到这是登录警报的一部分:

<button type="button" id="btnhide" class="btn btn-primary btn-md">Hide</button>

$(document).ready(function() {
//Hide alert when page loads
$("#loginalert").hide();
$("#invalid").hide();  
$("#loginbtn").click(function(event){
//console.log("clicked login");
$.getJSON('result.json', function(jd) {
  var id = $('#userName').val();
  var name = $('#userName2').val();
  var valid = false;
  //console.log(id);
  for (var i=0; i<jd.user.length; i++) {
    if ((jd.user[i].ID == id) && (jd.user[i].name == name)) {
        valid=true;
      $('#loginalert').html('<img src="' + jd.user[i].imgpath + '"><br><p> Welcome: ' + jd.user[i].name + '</p><button type="button" id="btnhide" class="btn btn-primary btn-md">Hide</button>');      
      //show the alert after loading the information  
        $("#loginalert").stop().fadeIn('slow').animate({ opacity: 1.0 }, 3000)('slow', function () {
        //$("#invalid").hide();

    });
    }
  }
 if (!valid) {
    $('#invalid').fadeIn('slow');

 }

  }); });  });

所以我需要让按钮实际隐藏#loginalert

非常感谢你们

2 个答案:

答案 0 :(得分:3)

您可以委派活动:

$('#loginalert').on('click', '#btnhide', function(e){
    $(e.delegateTarget).hide(); // or `$('#loginalert').hide()`
});

答案 1 :(得分:0)

我让这个工作..请看下面:

$("#loginalert").stop().fadeIn('slow').animate({ opacity: 1.0 }, 3000)
                $('#invalid').hide();
                $('#btnhide').on('click', function(e){

                    e.preventDefault();
                    $('#loginalert').hide();
                });

            }
        }
        if (!valid) {
            $('#invalid').fadeIn('slow');
            $('#loginalert').hide();