IE8 "Object does not support this property or method" with JQuery 1.7

When the following code is executed in IE 8, the console displays the error "Object does not support this property or method" for line 4 character. This only happens with IE 8. I am using jquery-1.7.1.min.js

enter image description here

    $(document).ready(function () {
    var states = ["NEW YORK",
                  "PUERTO RICO",
                  "ALABAMA",
                  "ALASKA",
                  "AMERICAN SAMOA",
                  "ARIZONA",
                  "ARKANSAS",
                  "CALIFORNIA",
                  "COLORADO",
                  "CONNECTICUT",
                  "DELAWARE",
                  "DISTRICT OF COLUMBIA",
                  "FEDERATED STATES OF MICRONESIA",
                  "FLORIDA",
                  "GEORGIA",
                  "GUAM",
                  "HAWAII",
                  "IDAHO",
                  "ILLINOIS",
                  "INDIANA",
                  "IOWA",
                  "KANSAS",
                  "KENTUCKY",
                  "LOUISIANA",
                  "MAINE",
                  "MARSHALL ISLANDS",
                  "MARYLAND",
                  "MASSACHUSETTS",
                  "MICHIGAN",
                  "MINNESOTA",
                  "MISSISSIPPI",
                  "MISSOURI",
                  "MONTANA",
                  "NEBRASKA",
                  "NEVADA",
                  "NEW HAMPSHIRE",
                  "NEW JERSEY",
                  "NEW MEXICO",
                  "NORTH CAROLINA",
                  "NORTH DAKOTA",
                  "NORTHERN MARIANA ISLANDS",
                  "OHIO",
                  "OKLAHOMA",
                  "OREGON",
                  "PALAU",
                  "PENNSYLVANIA",
                  "RHODE ISLAND",
                  "SOUTH CAROLINA",
                  "SOUTH DAKOTA",
                  "TENNESSEE",
                  "TEXAS",
                  "UTAH",
                  "VERMONT",
                  "VIRGIN ISLANDS, U.S.",
                  "VIRGINIA",
                  "WASHINGTON",
                  "WEST VIRGINIA",
                  "WISCONSIN",
                  "WYOMING"];
    var _events = "change focusout";

    $("[name='payToBankState'], [name='amount'], [name='customerType'], [name='usdEquivalent'], [name='currency']").live(_events, function(event) {
        if($("[name='customerType']").val() == "Person" && states.indexOf($("[name='payToBankState']").val()) < 0) {
                if($("[name='currency']").val() == "USD") {
                    if($("[name='amount']").val() > 15 ) {
                        $("[name='pfhTran']").attr('checked', true);
                        $("[name='pfhTran']").removeAttr('disabled');
                    }
                    else {
                        $("[name='pfhTran']").removeAttr('checked');
                        $("[name='pfhTran']").attr('disabled', true);
                    }
                }
                else if ($("[name='usdEquivalent']").val() > 15) {
                    $("[name='pfhTran']").attr('checked', true);
                    $("[name='pfhTran']").removeAttr('disabled');
                }
                else {
                    $("[name='pfhTran']").removeAttr('checked');
                    $("[name='pfhTran']").attr('disabled', true);
                }
        }
        else {
            $("[name='pfhTran']").removeAttr('checked');
            $("[name='pfhTran']").attr('disabled', true);
        }

    });
});

      

+3


source to share


1 answer


The "indexOf" method is not part of the IE8 array methods. You should be able to quickly fix this with jQuery.inArray: http://api.jquery.com/jQuery.inArray/

Edit:

states.indexOf($("[name='payToBankState']").val()) < 0

      



To:

$.inArray($("[name='payToBankState']").val(), states) < 0

      

+4


source







All Articles