次の目的でスクリプトを使用しています。
- チェックボックス置換要素のクラスを切り替えます
- チェックボックス自体の状態を変更する
- チェックボックス自体の状態に基づいて、チェックボックスの置換の状態を初期化します
すべてのブラウザー (IE9 を含む) で問題なく動作しますが、IE7 と IE8 では失敗します。IE7 - 8 では、要素をクリックしても効果がありません。クラスを追加したり、チェックボックスの状態を変更したりしません。
/** BEGIN CheckBox **/
$.fn.xCheckBoxList = function () {
this.Check = function (clientId, isSingleSelection) {
$(document).ready(function () {
var checkBox = $("#" + clientId + " .x_checkBox");
$(checkBox).has("input:checked").addClass("x_checkBoxChecked");
$(checkBox).click(function () {
if (isSingleSelection) {
$(this).siblings().find("input").attr("checked", false);
}
$(checkBox).has("input:checked").addClass("x_checkBoxChecked");
$(checkBox).has("input:not(:checked)").removeClass("x_checkBoxChecked");
});
});
}
return this;
}
/** END CheckBox **/
何か案は?