我的表单上有问题:
http://lexusevents.sanscode.com/datawash/details/pagetwo/1a08c087bdd3f0f85359a2a2e61ca74a
基本上你有一堆<img>
坐在标签内,带有一个像这样的复选框:
<label for="mybox">
<input type="checkbox" id="mybox">
<img src="">
</label>
单击firefox或chrome中的图像时,标签会触发复选框,我的狡猾的CSS样式会更改图像,使一些文本位于顶部,表示已选中。
现在的问题是,当我在IE浏览器中时,标签点击不起作用。它不会触发复选框。所以我不知道为什么我决定尝试使用jquery来修复它。
if ($.browser.msie) {
$('.checkbox label').bind('click', function() {
checkbx = $(this).children('input');
me = $(this);
checkbx.click();
if (checkbx.is(':checked')) me.addClass('checked');
else me.removeClass('checked');
});
$('.checkbox label').each(function() {
var c = $('input', this);
var me = $(this);
if (c.is(':checked')) me.addClass('checked');
else me.removeClass('checked');
});
}
此代码在以checkbx = $(th
开头的行上有错误...显然有一个属性不支持此方法错误,但我无法解决原因。
有人可以帮我吗?
答案 0 :(得分:0)
这可能是由于表单中的其他输入:
// You are selecting here all the input tag.
checkbx = $(this).children('input');
根据你的html,你也有这个标签:
<input type="hidden" name="form_id" value="1a08c087bdd3f0f85359a2a2e61ca74a">
这可能会导致IE出现问题。您可能想要更改查询:
自:
checkbx = $(this).children('input');
To(最有可能是这样或者在查询中更具体,只选择复选框的输入类型):
checkbx = $(this).children(':checkbox');