JQuery代码不能运行IE10兼容模式,IE9或更早版本

时间:2013-06-13 01:03:35

标签: jquery html asp-classic cross-browser

很抱歉提前啰嗦,但我有一个持续的问题,尽管上一篇文章提供了很大帮助,但在此处列出:

http://bit.ly/11aBzBV

话虽如此,我修改了我的代码以检查是否已检查了两个盒子。这是我的代码的链接:

http://jsfiddle.net/UsraB/5/

基本代码:

$(function () {
    $('tr').on('change', '.AIR', function () {
        console.log(this.checked)
        if (!$(this).closest('td').siblings('td').find('.HEAD').prop('checked')) {
            alert("HEAD has to be checked if AIR is to be checked.\nPlease go back and check HEAD.");
            $(this).prop('checked', !this.checked);
            return false;
        }
    });

    $('tr').on('change', '.HEAD', function () {
        console.log(this.checked)
        if ($(this).closest('td').siblings('td').find('.AIR').is(':checked')) {
            alert("HEAD has to be checked if AIR is to be checked.\nPlease leave HEAD checked.");
            $(this).prop('checked', !this.checked);
            return false;
        }
    });
});

<table>
    <tr class="row">
        <td>Store 1</td>
        <td>
            <input type="checkbox" value="" name="" />Foo</td>
        <td>
            <input type="checkbox" value="" name="" class="HEAD" />HEAD</td>
        <td>
            <input type="checkbox" value="" name="" />Do</td>
        <td>
            <input type="checkbox" value="" name="" class="AIR" />AIR</td>
        <td>
            <input type="checkbox" value="" name="" />Me</td>
    </tr>
    <tr class="row">
        <td>Store 2</td>
        <td>
            <input type="checkbox" value="" name="" />Foo</td>
        <td>
            <input type="checkbox" value="" name="" class="HEAD" />HEAD</td>
        <td>
            <input type="checkbox" value="" name="" />Do</td>
        <td>
            <input type="checkbox" value="" name="" class="AIR" />AIR</td>
        <td>
            <input type="checkbox" value="" name="" />Me</td>
    </tr>
</table>

如果用户检查了AIR,则会弹出一个警告并告诉用户确保已选中HEAD。如果用户正确检查了AIR和HEAD,然后用户尝试取消选中HEAD,则会让用户知道是否已选中HEAD。

这适用于Chrome,Firefox(早在16年)和IE10。由于某种原因,它在IE8或IE9或IE10兼容性中不起作用。似乎根本没有发生jquery检查。我甚至将上面提到的jsfiddle链接带到了跨浏览器模拟器中,并且代码在IE8 / 9环境中不起作用。当我尝试调试代码时,运行Developer工具似乎会触发它,但其他任何事情都不清楚。是什么赋予了?我错过了什么?

此外,当在Firefox中运行时,jquery将遍历每个警报的所有复选框,以计算行中复选框的数量(jsfiddle有6;生产代码有5)。我能够以错误的方式停止,但不确定这是否正确。

有关修改代码的位置的任何想法?有没有任何基本的JavaScript替代品?我还在学习jquery / javascript,所以这对我来说都是新手。非常感谢帮助;谢谢!

0 个答案:

没有答案
相关问题