Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 预先检查/选择IE7中的单选按钮_Javascript_Jquery_Button_Radio - Fatal编程技术网

Javascript 预先检查/选择IE7中的单选按钮

Javascript 预先检查/选择IE7中的单选按钮,javascript,jquery,button,radio,Javascript,Jquery,Button,Radio,我有一个带有单选按钮的页面,需要在页面加载时预先填充…我的代码在firefox、IE8和IE7中的IE8中工作得很好,但当我尝试IE7纯环境时…单选按钮没有预先填充,而禁用单选按钮工作得很好。。。。 任何帮助都将不胜感激 谢谢 编辑1:代码 main.disable = function($cntrl, flag){ if($cntrl.attr('type')=== "radio"){ var ctrls = document.getElementByName($cntr

我有一个带有单选按钮的页面,需要在页面加载时预先填充…我的代码在firefox、IE8和IE7中的IE8中工作得很好,但当我尝试IE7纯环境时…单选按钮没有预先填充,而禁用单选按钮工作得很好。。。。 任何帮助都将不胜感激

谢谢

编辑1:代码

main.disable = function($cntrl, flag){
    if($cntrl.attr('type')=== "radio"){
       var ctrls = document.getElementByName($cntrl.attr('name'));
       for(var idx = 0 ; idx < ctrls.length; idx++){
            ctrls[idx].disabled = flag;
      }
   else{
       $cntrl.disabled = flag;
}
};
main.getControlById = function(id, context){
  if(id.search("{") > 0){
    id = main.fillTem(id, context);
}

return $(document.getElementById(id));
};

behave.addRule("abc","Enable/disable aa", function(){
var $ab = main.getControlById(a.ab, this);

        if( supp !== undefined && supp !== null){
            if(supp.ab === 'A' || supp.A === 'N'){
               main.disable($ab, false);
}
else{
   main.disable($ab, false);
}
}

else{
main.disable($ab, false);
}
});
main.disable=函数($cntrl,标志){
如果($cntrl.attr('type')=“radio”){
var ctrls=document.getElementByName($cntrl.attr('name'));
对于(var idx=0;idx0){
id=main.fillTem(id,上下文);
}
返回$(document.getElementById(id));
};
behave.addRule(“abc”,“启用/禁用aa”,函数(){
var$ab=main.getControlById(a.ab,this);
if(supp!==未定义&&supp!==空){
如果(附录ab=='A'| |附录A=='N'){
main.disable($ab,false);
}
否则{
main.disable($ab,false);
}
}
否则{
main.disable($ab,false);
}
});

我怀疑您在页面完成渲染之前正在运行代码。IE7渲染页面的速度比IE8慢


如果您的JS代码在HTML之前,并且您没有使用
$(document).ready(function(){..})
调用它,那么本末倒置。

这与我现在遇到的问题相同:我动态创建单选按钮列表,在Internet Explorer 7中,您无法选择它们

我发现这与jQuery无关:即使在纯JavaScript中创建元素也会产生非工作输入

如果您想让动态无线电输入在IE7中工作,您必须在一行中声明它们


这在IE中不起作用,你需要发布一些代码…谢谢!但我已经包装好了。ready()但没有运气…浪费了很多时间…我知道它的渲染问题,但没有找到合适的解决方案…你正在缓存整件事…这对优化有好处…我通过绑定控件来解决问题(如单选、文本)加载页面后…基本上是IE7呈现速度慢的问题…无论如何,感谢您的建议…我创建的单选按钮是在用户单击另一个按钮执行选择时创建的,因此页面已经加载并准备就绪(无论我等待单击多长时间).如果你能用另一种方法修复它,你能发布一个片段吗?
var input = $("<input />");
input.attr("id", answers[index].id);
input.attr("type", "radio");
input.attr("name", "answer");
input.val(answers[index].value);
var input = $("<input id='" + answers[index].id + "' type='radio' name='answer' value='" + answers[index].value + "'></input>");