2011-01-19 11 views
1

ラジオボタンがページにロードされる必要があるページがあります...私のコードはIE8のIE8とIE7では完璧に動作しますが、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); 
} 
}); 
+1

あなたはいくつかのコードを投稿する必要があります.... –

答えて

0

私はページのレンダリングを完了する前に、あなたのコードを実行していると思われます。 IE7はIE8よりレンダリングページの方が遅いです。

JSコードがHTMLの前にあり、$(document).ready(function() { .... })を使用していない場合、カートは馬の前にあります。

+0

ありがとう!しかし、私はすでにラップされています。()の周りに運がありません...その時間に多くの時間を無駄に...私はレンダリングの問題を知っているが、適切な解決策を見つけることができませんでした... – paul

2

これは私が今行っているのと同じ問題です。ラジオボタンのリストを動的に作成し、Internet Explorer 7ではそれらを選択できません。

私が見つけたのは、jQueryに関連する問題ではないことです。純粋なJavaScriptで要素を作成しても、動作しない入力が得られます。

ダイナミックラジオ入力がIE7で機能するようにするには、それらを1行で宣言する必要があります。

これは= 7 IE <では動作しません。

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>に気をつけろ(/> )。

+0

あなたは全体をキャッシングしている...最適化にはいいです...ページを読み込んだ後でコントロール(ラジオ、テキストなど)をバインドして問題を解決します。基本的にIE7の低速レンダリングの問題...とにかくアドバイスいただきありがとうございます... 。 – paul

+0

私が作成するラジオボタンは、ユーザーが別のボタンをクリックして選択を行ったときに作成されるため、ページはすでにロードされて準備が整っています(クリックするまでの時間は関係ありません)。それを別の方法で修正できた場合、スニペットを投稿できますか? – Albireo

関連する問題