Javascript 为什么不是';Jquery日期选择器图标是否显示在IE8中?

Javascript 为什么不是';Jquery日期选择器图标是否显示在IE8中?,javascript,internet-explorer,jquery-ui,calendar,datepicker,Javascript,Internet Explorer,Jquery Ui,Calendar,Datepicker,我的html页面中有以下代码。 图标存在,并且图像的路径有效。 每个浏览器似乎都能正确显示这一点,但IE8只显示一个框。 有人知道解决这个问题的方法吗 <script type="text/javascript" charset="utf-8"> var sDate = new Date(1323637200000); $(function() { $( "#datepicker" ).datepicker({ minDate: -151,

我的html页面中有以下代码。 图标存在,并且图像的路径有效。 每个浏览器似乎都能正确显示这一点,但IE8只显示一个框。 有人知道解决这个问题的方法吗

<script type="text/javascript" charset="utf-8">

 var sDate = new Date(1323637200000);

  $(function() {
    $( "#datepicker" ).datepicker({

      minDate: -151,
      maxDate: "-1D",
      dateFormat: "dd-mm-yy",
      defaultDate: sDate,
      firstDay: 6,
      showOn: "button",
      buttonImage: "/public/images/ico-calendar.gif",
      buttonImageOnly: false,
      onSelect: function(mydate) {
            window.location.href="/reports/"+mydate;
        }
    });
  });
</script>
<input type="hidden" id="datepicker" />

var sDate=新日期(1323637200000);
$(函数(){
$(“#日期选择器”)。日期选择器({
minDate:-151,
maxDate:“-1D”,
日期格式:“dd-mm-yy”,
默认日期:sDate,
第一天:6,
展示:“按钮”,
buttonImage:“/public/images/ico calendar.gif”,
buttonImageOnly:false,
onSelect:函数(mydate){
window.location.href=“/reports/”+mydate;
}
});
});
将html更改为

<input type="text" id="datepicker" />


小提琴。我没有给出有效的映像路径。您需要在您的开发系统上检查它。

经过多次修改后,我发现重置图标图像上的最大宽度可以使图标正确显示。这听起来像是IE8的一个怪癖

img{
 max-width: none;
}

不确定这是否仍然是人们的问题,但我用一个小jQuery脚本解决了它:

        var ua = window.navigator.userAgent;
        var msie = ua.indexOf('MSIE');
        var trident = ua.indexOf('Trident/');
        //Check if IE
        if (msie > 0 || trident > 0) {
            $("input[type=date]").datepicker();
        }

在Chrome和所有IE版本上都能发挥魅力。

尝试使用~/public/images/ico-calendar.gif这不会改变任何东西。图像uri正确,其他浏览器可以显示该图标。