1
원시 자바 스크립트를 사용하는 레거시 페이지가 있습니다 (브라우저 차이가없는 JS 라이브러리 없음). 동적으로이 같은 체크 박스를 생성합니다프로그래밍 방식으로 IE 10의 체크 박스 체크 속성을 선택했습니다.
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로 설정하는 것을 존중하지 않는다는 것입니다. 체크 박스를 선택해야한다는 것을 나타내는 다른 방법은 무엇입니까?
그게 잘 작동합니다; "isChecked"의 값은 정확히 무엇입니까? – Pointy