2

さまざまなブラウザーでは機能しないように見える単純な機能に行き詰まりました。

私の必要性は、他のチェックボックス(子チェックボックス)をチェック/チェック解除する機能を備えた単一のチェックボックス(マスターチェックボックス)を持つことです。マスター チェックボックスがクリックされると、それ自体の状態が他のチェックボックスのリストに転送される必要があります。例:マスターチェックボックスがチェックされておらず、クリックされた(したがって選択された)場合、すべての子チェックボックスも選択される必要があります。

以下のコードは、Firefox 13.0.1 ではうまく機能しますが、Internet Explorer 9 では機能しません。

以下のコードはすべて同じファイルにあります。

JavaScript

<script type="text/javascript">
    function toggle(source) {   
        checkboxes = document.getElementsByName('cb[]');
        for each(var checkbox in checkboxes)
            checkbox.checked = checkbox.checked == true ? false : true;
    }
</script>

チェックとチェック解除のためにクリックされるチェックボックス

<td width="3%"><input name="cb_all" type="checkbox" id="cb_all" onClick="toggle(this)"></td>

1 行

<td><input name="cb[]" type="checkbox" value="<?php echo $user->id;?>" id="cb[]"></td>

解決策は簡単なものであると信じたいのですが、検索に半日を費やした後、何か助けがあればとてもうれしいです. これで私を助けてもらえますか?

4

1 に答える 1

1

これは、InternetExplorerに。というメソッドがないためgetElementsByNameです。回避策は、それぞれを使用getElementsByTagNameして確認することです。詳細については、http://webbugtrack.blogspot.com/2007/08/bug-411-getelementsbyname-doesnt-work.htmlを参照してください。

于 2012-07-01T13:52:08.750 に答える