readonly="true"
でブートストラップを選択しましたが、選択したオプションを変更することはできます。Twitterのブートストラップを選択してもまだオプションを変更できない
私はdisabled="true"
の動作が必要ですが、これを使用すると、選択は送信されません。
私は2の組み合わせが必要です、選択されたオプションは変更できませんが、選択を提出する必要があります。
私は隠しフィールドを使うことができましたが、私は簡単な解決策を望んでいました。
readonly="true"
でブートストラップを選択しましたが、選択したオプションを変更することはできます。Twitterのブートストラップを選択してもまだオプションを変更できない
私はdisabled="true"
の動作が必要ですが、これを使用すると、選択は送信されません。
私は2の組み合わせが必要です、選択されたオプションは変更できませんが、選択を提出する必要があります。
私は隠しフィールドを使うことができましたが、私は簡単な解決策を望んでいました。
ドロップダウンで選択置換を使用することもできますが、ドロップダウンを無効にすることはできますが、依然として非表示の選択要素の値を送信する必要があります。 しかし、隠しフィールドを使用することもできます...
または、選択要素が無効な場合は、選択した値で実際に隠しフィールドを追加します。
<input type="hidden" name="whatever">
<select name="whatever">
隠しフィールドを選択すると同じ名前を持っている場合、選択の選択された値は、(選択フィールドを動的JSで有効になっている例えば)隠しフィールドの送信された値を上書きします。また、選択が無効な場合、非表示フィールドの値が送信されます。 最初に送信されるものの順序については不明です。
$(document).ready(function(){$('select option:not(:selected)').attr('disabled',true);});
この解決方法も有効です(少なくともjsが有効な場合)。選択されていないすべてのオプションが無効になります。したがって、選択されたオプションは送信され、変更することはできません。
pageloadでhtml-form-readonly-select-tag-input
私は同様の問題に遭遇しました。私は、フォームonsubmitイベントが発生したときに無効になった属性を削除します。ブラウザは無効な属性をサーバーに戻しません。
$('form').submit(function() { $('[disabled]').removeAttr('disabled'); })
私が見つけた唯一の他の選択肢は、隠された入力値を見つけることです。
が読み取り専用のために無効に追加類似しており、すでに答え質問があり
$('[readonly]').prop("disabled", true);
前にjQueryのドキュメントから無効
$('[readonly]').prop("disabled", false);
ノートを削除し送信:
jQuery 1.6以降、.attr()メソッドは属性 に対して未定義を返します。 などのDOMプロパティを取得および変更するには、フォーム要素のチェック、選択、または無効の状態を .prop()メソッドを使用します。
標準的な 'select'要素はそれをサポートしていないので、私は選択代替プラグインがこの動作をするとは考えていません。必要な場合は、自分でコードを記述するか、要素を無効にして隠れた入力を使用するかのいずれかが必要です。 –