3

IE8はJquery.filter()メソッドをサポートしていないようです-InternetExplorer8で.filter()が機能しないのはなぜですか?

ドロップダウンリストをフィルタリングする次のコードがあります

if($('#deliveryPostcodeEstimator').length > 0) {
        $('.shippingregionselector').hide();
        $('#deliveryPostcodeEstimator')
            .blur(function() {
                //Set to default
                $('select[name=country] option:last').prop('selected', true);
                //var defaultPostcode = 'GL50';
                //$("select[name=country] option").filter(function() {
                //  return $(this).text() == defaultPostcode; 
                //}).prop('selected', true);
                //Set to matching postcode value if set
                $('select[name=country] option').filter(function(index) { 
                    return ($(this).text() == $('#deliveryPostcodeEstimator').val().toUpperCase().substring(0,4).trim()) 
                }).prop('selected', true);
                //Submit
                var thisForm = $(this).closest("form");
                thisForm.submit();
            })
            .keyup(function() {
                $(this).val($(this).val().toUpperCase());
            });
        $('button.pcodechange').click(function() {
            var thisForm = $(this).closest("form");
            thisForm.submit();
        });
    }

問題の行は

return ($(this).text() == $('#deliveryPostcodeEstimator').val().toUpperCase().substring(0,4).trim()) 

次のエラーが発生します

Object doesn't support this property or method 前の投稿で提案されているように、「これをオブジェクトにラップするには」どうすればよいですか?

ありがとう

4

2 に答える 2

5

あなたのエラーはおそらくあなたの.trim()電話によるものです。

String.prototype.trim次の表によると、Internet Explorer 8 では使用できません: http://kangax.github.com/es5-compat-table/

代わりに jQuery.trim を使用できます。

 var search = $.trim($('#deliveryPostcodeEstimator').val().toUpperCase().substring(0,4));
 $('select[name=country] option').filter(function(index) { 
   return $(this).text() == search; 
 }).prop('selected', true);

cernunnos リンクで説明されている純粋な JavaScript ソリューションを使用することもできます。

JavaScript の .trim() が IE で機能しない

于 2013-03-08T11:07:01.037 に答える