ホームページ  >  記事  >  ウェブフロントエンド  >  IE8 の Jquery は、select で選択された値を取得してバックグラウンドにポストし、error_jquery を報告します。

IE8 の Jquery は、select で選択された値を取得してバックグラウンドにポストし、error_jquery を報告します。

WBOY
WBOYオリジナル
2016-05-16 16:42:471378ブラウズ

通常、select を取得するために jquery を使用する場合、通常は次のように使用します。

<select id='a'> 
<option selected='selected' value='1'> 
</select> 
var selectedValue = $("#a").val();

IE8 以外では、selectedValue の値は「1」、selectedValue の type は「string」です。

IE8 では、selectedValue の値は ["1"]、selectedValue の type は "objectg" です。

selectedValue ポストをバックグラウンドに直接送信すると、送信プロセス中に selectedValue が IE8 では配列として扱われ、バックグラウンドで認識できないため、バックグラウンドがそれを受信したときにエラーが報告されます。

解決されたコードは次のとおりです:

selectedValue = typeof selectedValue == "object" &#63; selectedValue[0] : selectedValue;

このように、selectedValue は文字列です。

さらに、これは他の問題を引き起こします:

var a = selectedValue.trim();

このコードは IE8 では実行できません。上記の理由も考えられます。

次のコードを使用して、機能することを確認します。

$.trim(selectedValue);
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。