我有一个包含费用列表的视图。我将复选标记图像显示为列之一。它被定义为输入类型作为复选框。用户可以通过单击列来选中/取消选中。他的复选标记图像根本没有出现在IE8中。以下是视图中的相关内联css /脚本(.cshtml)。
input[type=checkbox].css-checkbox + label.css-label
{
padding-left: 25px;
height: 25px;
display: inline-block;
line-height: 25px;
background-repeat: no-repeat;
background-position: 0 0;
font-size: 15px;
vertical-align: middle;
cursor: pointer;
}
input[type=text].css-text
{
position: absolute;
overflow: hidden;
clip: rect(0 0 0 0);
height: 1px;
width: 1px;
margin: -1px;
padding: 0;
border: 0;
}
input[type=text].css-text + label.css-textlabel
{
padding-left: 25px;
height: 25px;
display: inline-block;
line-height: 25px;
background-repeat: no-repeat;
background-position: 0 0;
font-size: 15px;
vertical-align: middle;
cursor: pointer;
background-image: url(../images/checkmark.png);
}
input[type=checkbox].css-checkbox:checked + label.css-label
{
background-image: url(../images/check-mark-sm.png);
}
input[type=checkbox].css-checkbox.checked + label.css-label
{
background-image: url(../images/check-mark-sm.png);
}
.css-label
{
background-image: url(../images/checknomark.png);
}
通过在视图中读取模型来加载视图中的表。以下是代码:
@for (int i = 0; i < Model.OpenCharges.Count; i++)
{
var style = (i + 1) % 2 != 0 ? "background1" : "background2";
var status = @Model.OpenCharges[i].Status;
var disabled = status != "Open" ? "disabled" : "checked=\"checked\" ";
<td style="padding: 5px;" class="body @style">
<input id="OpenCharges-Checkbox-@i" class="css-checkbox" type="checkbox" value="@Model.OpenCharges[i].AmountRemaining" IdForRecord="@Model.OpenCharges[i].Id" @disabled />
<label for="OpenCharges-Checkbox-@i" class="css-label"></label>
</td>
<td>
</td>
</tr>
}
由于某种原因,复选标记在IE8中不可见。我花了很长时间,没有什么对我有用。相同的代码适用于IE&gt; 8的所有其他浏览器和版本。有什么想法我需要做什么? 在发布此问题之前尝试了以下事项:
<!--[if lt IE 9]><script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script> <![endif]-->