2015-09-07 73 views
1

此页面有图像,这些图像必须在加载时间隐藏,页面从另一个aspx页面接收参数值(不点击任何按钮)后,图像显示基于一个参数值。此代码可以成功接收数据,但如何使用参数值隐藏和显示图像?隐藏图像在加载时间和显示基于一个url参数值

HTML:

<input type="button" id="mybutton" /> 
<script> 
$('#mybutton').click(function() { 
    $.ajax({ 
     url: 'About.aspx', 
     dataType: 'text', 
     type: "GET", 
     success: function(data) 
     { 
      var result = $.trim(data); 
      if (result = 2) { 
       $("image1").show(); 

      } else { 

       if (result = 3) { 

        $("image2").show(); 
       } 
      } 
     } 
    }); 
}); 
</script> 

    <div id="graphic"> 
    <img id="gate1" src="Img/Fully Close Green.png" /> 
    <img id="gate2" src="Img/Fully Close Red.png" /> 
</div> 

回答

1

尝试此代码上document ready事件隐藏图像或使用CSS类和图像的与image1image2,所述#标签被用于访问任何元件的ID和.然后用户ID用于类设置display:none更chcek This: -

$(function() { 
$('#graphic img').hide(); 
$.ajax({ 
    url: 'About.aspx', 
    dataType: 'text', 
    type: "GET", 
    success: function (data) { 
     var result = $.trim(data); 
     if (result == 2) { 
      $("#gate1").show(); 

     } else if (result == 3) { 
      $("#gate2").show(); 
     } 
     //you can put more options here or just use else condition instread of else if 
    } 
}); 
}); 
+0

仍然显示所有图像?如何解决这个问题? –

+0

@Algiri浏览器控制台中的任何错误? –

+0

显示没有错误。 –

0

您有不正确的比较逻辑。使用=====而不仅仅是=

另外,研究jQuery selectors。使用元素的ID。

if (result == 2) { 
    $("#gate1").show(); 
} else { 
    if (result == 3) { 
     $("#gate2").show(); 
    } 
} 
0

你要隐藏所有&只显示了一个与“结果”值是否匹配?

$('#mybutton').click(function() { 
    $.ajax({ 
     url: 'About.aspx', 
     dataType: 'text', 
     type: "GET", 
     success: function(data) 
     { 
      var result = $.trim(data); 
      // Hide all 
      $('div#graphic img').hide(); 

      // Show matched one 
      $('#gate' + result).show(); 
     } 
    }); 
});