我有一个带单选按钮的页面需要在页面加载时预先填充...我的代码在IE8中的firefox,IE8和IE7中完美运行但是当我尝试IE7纯环境时...单选按钮没有预先填充禁用收音机工作完美.... 任何帮助将不胜感激。
谢谢!
edit1:代码
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);
}
});
答案 0 :(得分:2)
这与我现在遇到的问题相同:我动态创建单选按钮列表,而在Internet Explorer 7中则无法选择它们。
我发现它不是与jQuery相关的问题:即使用纯JavaScript创建元素也会产生非工作输入。
如果您希望动态无线电输入在IE7中工作,则必须在一行中声明它们。
这在IE&lt; = 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>
,您不能使用自我结束标记(/>
)。
答案 1 :(得分:0)
我怀疑您在页面完成渲染之前运行代码。 IE7渲染页面的速度比IE8慢。
如果你的JS代码在你的HTML之前并且你没有使用$(document).ready(function() { .... })
来调用它,那么购物车就在马的前面。