在ie10中以编程方式设置复选框选中属性
Programmatically setting checkbox checked attribute in IE 10
我有一个遗留页面,它使用了大量的原始javascript(没有JS库隐藏浏览器差异)。它动态地创建一个复选框,如下所示:
function createCheckbox(checkboxName, isChecked, onClickHandler)
{
var checkboxId = checkboxName + 'ChkBx';
var chkbx;
if(Ext.isIE)
{
// Following code does not work in IE10 when NOT using compatibility view
// Throws JS error. Worked in IE9.
//if (isChecked)
//{
// chkbx = document.createElement('<input id="' + checkboxId + '" type="checkbox" name="' + checkboxName + '" value="true" checked="checked" className="checkbox" />');
//}
//else
//{
// chkbx = document.createElement('<input id="' + checkboxId + '" type="checkbox" name="' + checkboxName + '" value="true" className="checkbox" />');
//}
// Following code does not work in IE10 when using compatibility view
// isChecked == true does not product checked checkbox
chkbx = document.createElement('input');
chkbx.id = checkboxId;
chkbx.name = checkboxName;
chkbx.value = 'true';
chkbx.type = 'checkbox';
chkbx.checked = isChecked;
chkbx.className = 'checkbox';
}
else
{ ... }
return chkbx;
}
我知道在IE10中,createElement()不再接受详细的字符串参数。这就是为什么我改变了上面的代码。我不明白的是为什么,它不尊重我设置checked属性为true?还应该如何指示复选框应该被选中呢?
add
chkbx.defaultChecked = isChecked;
问题解决了。
当使用兼容性视图时,IE10可能会退回到IE7的做事方式。(取决于你的设置)
来源:使用Javascript的IE7不会检查复选框,但没有错误
用IE 10.0.9200.16519测试
相关文章:
- JQuery Datatables将复选框设置为选中
- 我无法将 MVC 复选框设置为在 jquery 中选中
- 在 Zkoss 中选中的复选框设置为禁用(真),但我希望复选框和勾选的可见性保持不变
- jQuery:根据另一个复选框设置选择框的值
- 在放入表单数据之前,将HTML复选框设置为字符串
- 为复选框设置 Cookie
- 如何为单选按钮和复选框设置禁用/只读功能
- 将“已创建”复选框设置为选中不起作用
- 如何为动态添加的复选框设置动态启用/禁用
- 将复选框设置为使用jQuery选中
- 将第一个复选框设置为选中,其他复选框从客户端的复选框列表中禁用
- 为不确定复选框设置自定义初始值只有在单击后才能工作
- 使用angularjs将复选框设置为选中时导致的错误
- Jquery验证多个复选框设置错误位置
- 如何在单击“取消”时将复选框设置为未选中?
- 当php选中复选框设置时,调用JS函数
- 将前2行输入字段的复选框设置为选中
- 选中复选框设置属性,否则删除属性
- Jquery ui slider:基于复选框设置步长
- AngularJS-当Value为true时,将复选框设置为选中