2011-06-24 13 views
1

jQuery 1.4.2を使用してラジオボタンをプログラムで選択しようとしています。 IE 8Chrome 12で動作しますが、Firefox 5では動作しません。Firefox 5でjQueryを使用してラジオボタンをプログラムで選択するときに問題が発生する

ラジオボタンのHTMLは次のとおりです。ラジオボタンは、jQueryオブジェクトです私が使用している

<input type='radio' name='selected-row'> 

コードは、以下の通りです。

onCellSelect: function (rowid, iCol, cellcontent, e) { 
     var cell = $(e.srcElement); 
     var radioButton = cell.closest("tr").find("input[type='radio']"); 

     radioButton.click(); 
    } 

私はグーグルで見つけたものに基づいて以下を使ってみましたが、IEとChromeの両方で動作しますが、Firefoxでは動作しません。

radioButton.attr("checked", "true"); 
radioButton.button("refresh"); 

Firefoxでどのように動作するのですか?

+0

新しい[.prop()](http://api.jquery.com/prop/)セッターを試してみて、 'radioButton.prop(" checked "、true)で運が増えているかどうか確認してください。 FF5で作業していないし、使用しているjQのバージョンがわからないので、何を期待するかわからない。 – lsuarez

+1

jQuery 1.4.2を使用していますが、アップグレードできません。 – GiddyUpHorsey

+0

'var cell = $(e.srcElement);'行を 'var cell = $(e.target);'に変更したところ、3つのブラウザすべてで動作するようになりました。 – GiddyUpHorsey

答えて

1

Firefoxの5

<input id="myRadioButton" type="radio" name="selected-row"> 

と作品に

$('#myRadioButton').attr('checked', true); 

を使用して、次の作品上記takeekさんは自分のラジオボタンの変数を確認してくださいと同じようにあなたはそれがあることを期待するものです。ラジオボタンをどうやって選んでいますか?

prop()は1.6のjQueryにのみ導入されていますので、attr()はここで問題ありません。

+0

良い点、 'radioButton'変数の長さはゼロでした。これはFirefoxが他のブラウザのようにイベントで' srcElement'をサポートしていないことが原因です。 – GiddyUpHorsey

+0

'e.target'は仕事をしているようです。 – GiddyUpHorsey

1
<input type="radio" value="The Answer" name="choices" id="myRadio"> 

-

$('#myRadio').attr('checked', true); 

私はあなたの問題は別の場所になければならないと思うのFirefox 5で私のために正常に動作します。たぶんfirefox固有の違うエラーが原因で、その行に到達しない可能性があります。

関連する問題