0

動的な値を持つドロップダウンを作成しようとしていました。基本的に、ページには 5 つのテキスト ボックスとドロップダウンがあり、ドロップダウンはそれらのテキスト ボックスから値を取得します。ユーザーがドロップダウンの幅よりも大きなテキストを入力すると、IE で歪んで表示されます。select:hover{width:auto;position:absolute} で修正しました。問題は、ユーザーがドロップダウンの元のサイズよりも小さい値をすべて入力した場合に、縮小せずに拡大する方法が必要なことです。何かご意見は??

Dojo と JavaScript を使用していますが、jquery は使用できません。

4

4 に答える 4

1

簡単な修正は、ドロップダウンリストの幅を選択し、テキストボックスの値に最大長と最小長を設定して、送信のサイズを制御できるようにすることです。それ以外の場合は、何でも入力できます。

于 2013-03-08T20:44:01.077 に答える
1

あなたの質問をゼロに戻し、解決策を提供します。

CSS を使用します。選択ボックスで幅を設定すると、その中のコンテンツが小さくても小さくなりません。

<select style="min-width:200px;" id="someUniqueIdentifier">
    /* Your dynamicaly generated options*/
</select>
于 2013-03-08T20:58:09.600 に答える
1

JavaScript でテキストの最大幅を見つけます。ドロップダウンの現在の幅よりも大きい場合は、幅をテキストの最大幅に変更します。

JavaScript はテキストの最大幅がドロップダウンの幅よりも小さいことを検出し、幅が変更されないため、テキストを再度変更すると、これは希望どおりに機能します (幅は縮小しません)。

于 2013-03-08T20:33:19.927 に答える
0

質問を正しく読んだ場合の最も簡単な解決策は、min-width プロパティ (developer.mozilla.org/en-US/docs/CSS/min-width) を次のように使用することです。幅: 自動; } - これにより、必要に応じてコントロールの幅を拡張できますが、定義した最小幅を下回ることはありません。これは :hover 状態セレクターで定義できますが、要素自体でも同様に機能します (お勧めします)。IE8+ のサポート、JavaScript は必要ありません。

于 2013-03-17T23:08:55.573 に答える