1

我有一个带有单选按钮的页面,需要在页面加载时预填充...我的代码在 IE8 中的 firefox、IE8 和 IE7 中完美运行,但是当我尝试 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);
}
});
4

2 回答 2

2

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

我发现这不是与 jQuery 相关的问题:即使在纯 JavaScript 中创建元素也会产生无效的输入。

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

这在 IE <= 7 中不起作用:

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>");

注意</input>,您不能使用自结束标记 ( />)。

于 2011-02-07T15:37:15.540 回答
0

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

如果您的 JS 代码在您的 HTML 之前并且您不使用$(document).ready(function() { .... })它来调用它,那么购物车就在马之前。

于 2011-01-19T04:20:16.720 回答