2010-11-24 3 views
2

で動作しますが、私はこれを生成します。jqueryの、IEで動作していないすべてのオプションボタンを選択しますが、どこかで私のCGIコードでFirefoxの

<button id="select_all1"><b>Select All<br>Parameters</b></button>  

:、私はボタンを生成し、後で

my $PARAMETER_HTML .= "<select name='parameters' id='parameters' size='10' multiple='multiple'>"; 
foreach my $values (sort @PARA_VALUES) 
{ 
    $PARAMETER_HTML .= "<option value=\"" . $values . "\" >" . $values . "</option>"; 
} 
$PARAMETER_HTML .= qq|</select>|; 

一部を後で、私はこのスクリプトコードを生成します:

$("#select_all1").click(function() { 
    $("#parameters").each(function(){ $("#parameters option").attr("selected","selected"); });     
}); 

これはFirefoxでは動作しますが、IEでは動作しません。 IE(バージョン7でテスト済み)用の修正はありますか?

+0

べきではない '$ PARAMETER_HTML = QQ |。 | '' $ PARAMETER_HTML。= ""; – Dutchie432

+0

"parameters" IDを持つ複数のHTML要素がありますか? –

+0

また、each()メソッドのコールバックの中で、現在の要素を 'this'値で参照します。 –

答えて

2

まず、ループは$("#parameters").eachループは必要ありません。 #parametersは単一の要素(select要素)を参照するため、何もしません。

次の最小限のバージョンはIE7などのブラウザ間でうまく動作します。私は生成されたHTMLが正しいことを確認するためにあなたのページソースをチェックして、動作する最小限のページに物事を落とそうとします。その後、慎重に物を入れてください。

<html> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("#select_all1").click(function() { 
     $("#parameters option").attr("selected","selected"); 
    }); 
}); 
</script> 
<button id="select_all1"><b>Select All<br>Parameters</b></button><br /> 

<select id="parameters" multiple="multiple"> 
    <option>one</option> 
    <option>two</option> 
    <option>three</option> 
</select> 

</html> 
1

私が思うだろうというの問題は、私は<div>に置き換え<button>の使用であり、それは、少なくともIE8で正常に動作します。

デモ:http://jsfiddle.net/wtw4e/

編集:

まあ、別の答えは、それはそれがうまくIEが他のブラウザよりも、コードの正確性について実質的にうるさいという通常の問題である可能性が<button>で正常に動作しますと言います。

1

コードがFF4とIE8で正しく動作するように見えるので、出力HTMLを再確認します。 (私はIE7のテストに挑戦していません。)あなたのコードはjsFiddleで実行しています:http://jsfiddle.net/CXQxT/

私はあなたのjQueryを簡略化することができます。 .each()の必要はありません。ここ

$('#select_all1').click(function() { 
    $('#parameters option').attr('selected', 'selected'); 
}); 

更新jsFiddle:http://jsfiddle.net/TWBRQ/

関連する問題