ドロップダウンを変更してページを更新すると、Firefoxは選択された属性を無視するようです。
<option selected="selected" value="Test">Test</option>
実際には、(更新前に)以前に選択したオプションが選択されます。他のものを変更するドロップダウンでトリガーされるイベントがあるので、これは私にとって問題になります。Firefoxにこの動作を停止させる方法はありますか(ページが読み込まれたときに別のイベントを起動する以外)。
ドロップダウンを変更してページを更新すると、Firefoxは選択された属性を無視するようです。
<option selected="selected" value="Test">Test</option>
実際には、(更新前に)以前に選択したオプションが選択されます。他のものを変更するドロップダウンでトリガーされるイベントがあるので、これは私にとって問題になります。Firefoxにこの動作を停止させる方法はありますか(ページが読み込まれたときに別のイベントを起動する以外)。
回答:
私の知る限り、この動作はFirefoxにハードコードされています。
各フォーム要素をdefaultValue
ページ上の読み込みに設定してみることができます。
$(":input").val(this[0].defaultValue);
(テストされていない)のようになります。通常のJSでは、それぞれを歩くdocument.getElementsByTagname("select")
autocomplete="off"
すべての選択タグにHTML属性を追加します。(ソース:https : //stackoverflow.com/a/8258154/260080)
これにより、FireFoxのODD動作が修正されます。
Firefoxで、フォームに名前属性があるフォーム内に選択を配置しない限り、「選択された」属性は機能しないことに気づきました。
同じ問題が発生しただけで、この愚かなFirefoxの動作に10時間以上かかっていると思います。7つのドロップダウンがあります。それぞれがイベントをトリガーし、24の非表示の入力を埋めるため、正しいオプションが選択されていることを想像できます。 24個の間違った入力値!!! 私が最後に見つけた解決策は、次のコード行を追加するJavaScriptでフォームをリセットすることです。
window.onload = function() { document.forms['MarkerForm'].reset(); };
PS:入力はデータベースから引き出された値を持っているので、フォームをリセットしても値は空になりませんが、Firefoxに選択済み=選択済みオプションに戻るように指示します!
更新時に以前の選択を記憶しているのは、Firefoxだけです。代わりにハードリフレッシュを試してください。
また、こちらの同じ問題:https : //stackoverflow.com/a/1505693/1069232
こちらもご覧ください:https : //bugzilla.mozilla.org/show_bug.cgi?id=274795
私はFF 25.0.1を使用しています
無視selected=""
してselected="selected"
ます。
しかし、単純に試してみるとselected
、オプションが選択されています。
奇妙な(非適合)動作。selected
有効なHTML5であり、これが最も短い形式であることはわかっていますが、通常は整形式のXMLも検証するコードを記述しているため、XML検証ツールを使用して非常に厳密な方法で結果をチェックできます(データの交換は非常に簡単です)。 。)
W3Cによると、これらのバリアントはブール属性で有効である必要があります。
HTML5: boolAttr="" | boolAttr="boolAttr" | boolAttr
XHTML5: boolAttr="" | boolAttr="boolAttr"
私は最初のものを好みます。それは、最後の(xml準拠ではない)バリアントとほぼ同じですが、XHTML5とHTML5の両方として検証する必要があるためです。Mozillaが修正してくれることを願っています。
.attr()の代わりに.prop()を使用します
This does not work in firefox.
$( 'option[value="myVal"]' ).attr( 'selected', 'selected' );
use this one
$( 'option[value="myVal"]' ).prop( 'selected', 'selected' );
In other way
$( this ).prop( 'selected', 'selected' );
.prop('selected', true);
または.prop('selected', false);
(jQuery)を使用して有効化/無効化は、FirefoxとChromeの両方で機能します。
オートコンプリートも機能しませんでした。
これは、私が使用するjqueryで記述されたJAVAスクリプト修正です。
$('input[type="radio"][selected]').click();
どちらにもしないautocomplete="off"
か、form
作品の中に入れてください。
どのような仕事をすることだけで、選択した属性を使用したノー「値」で、このように:
<option @(Model.Source == TermSource.Instagram ? "selected" : "")>
Instagram
</option>
<option @(Model.Source == TermSource.Facebook ? "selected" : "")>
Facebook
</option>
だからレンダリングするか<option selected>...</option>
、単に<option>...</option>
$('option:selected').each(function(){ $(this).prop('selected',true); });