2011-10-27 11 views
2

こんにちは私は2つのテーブルのセル全体をクリックすると、クリックすると背景色が変わるjqueryスクリプトがあります。フォームボタンをクリックすると、選択したセルがデータベースに処理されます。JqueryスクリプトはFirefoxでは動作しますがIEでは動作しません。

このスクリプトは、FirefoxとiPadsブラウザで動作します。

それは(SOEの一部であるので、現時点で変更することができない)

jqueryのスクリプトは

$(document).ready(function() { 
//assigning alternative row style 
$(".pretty tr:even").addClass("evenrow"); 
$(".pretty tr:odd").addClass("oddrow"); 

$(".my_table tr").find(':checkbox').prepend('<img id="tableSquare" src="images/square.png" />'); 


$(".pretty tr:even").click(function() { 
    $(this).find(':checkbox').attr('checked', !$(this).find(':checkbox').attr('checked')); 
    if ($(this).find(':checkbox').attr('checked')) { 
     $(this).removeClass('evenrow'); 
     $(this).addClass('highlight'); 


    } 
    else { 
     $(this).removeClass('highlight'); 
     $(this).addClass('evenrow'); 
    } 
}); 
$(".pretty tr:odd").click(function() { 
    $(this).find(':checkbox').attr('checked', !$(this).find(':checkbox').attr('checked')); 
    if ($(this).find(':checkbox').attr('checked')) { 
     $(this).removeClass('oddrow'); 
     $(this).addClass('highlight'); 
    } 
    else { 
     $(this).removeClass('highlight'); 
     $(this).addClass('oddrow'); 
    } 
}); 

}である)もIE 8で動作しません。

IE 8では、テーブルのいずれかのセルだけをクリックすることができます。そのセルは1回だけ動作します。ページをリフレッシュすると、それ以降は機能しません。

jquery 1.6.4を使用しています。

ここでは、すべてが何をしているかの部分的に動作する例を示します。 http://jsfiddle.net/unauu/23/

IE 8でスクリプトが動作しないのは何ですか?

+0

デバッグを済ませましたか? IE8はエラーを投げますか? – maxedison

答えて

2

IEで.attr()を使用した後、.prop()を使用しようとしたときに同様の問題が発生しました。これが私の問題を解決し、明らかにあなたもあなたと同じです。

http://jsfiddle.net/unauu/24/

これがなぜ起こるか私は知りません。

関連する問題