2012-03-02 8 views
0

私はいくつかの条件に基づいてスパンのような選択をするようにしようとしています。私は入力ボックスとうまく動作する次のCSSクラスがありますが、それはドロップダウンで動作しません。任意のガイダンスどのように私はスパンのような選択をスパンの代わりに置き換えるのではなく、CSSのクラスを選択すると、スパムのように見えます。

それ disabledことについてどのように

jQueryの機能

function makeReadOnly(context) { 
    $('input, select', context).each(function() { 
    $(this).addClass('readOnlyInput'); 
    });​ 
} 

CSS

.readOnlyInput 
{ 
    border-width: 0; 
    background-color: Transparent; 
    text-align: right; 
} 
+0

交換しないのはなぜですか? –

+0

selectのスタイルを変更するのは簡単ではありません:selectの外観やいくつかの[tricky css]を変更するには、jQueryプラグインが必要な場合があります(http://bavotasan.com/2011/style-select-box-using-only-css/ ) – scumah

答えて

1

あなただけのspanselectを置き換える必要があります。それはあなたがやろうとしていることをする標準的な方法です.はシステムコントロールなのでselect以外のものに見えるようにするのが難しいでしょう。 select要素は、異なるブラウザ/オペレーティングシステムでも同じように見えません。なぜなら、Web開発者は、それをスタイル変更する能力がないからです。

でもあなたの標準的なモデルチェンジコンボボックスと、このような、そこに利用可能な多くのjQueryのプラグインのように、元selectを隠し、div Sと、このような一連のと交換してください。

0

function makeReadOnly(context) { 
    $('input, select', context).each(function() { 
     $(this).attr('disabled', 'disabled'); 
    });​ 
} 

W3C勧告:

ユーザーの入力が望ましくないか無関係なコンテキストでは、 は、コントロールを無効にするか、読み取り専用にすることができることが重要です。 たとえば、 ユーザーがいくつかの必要なデータを入力するまで、フォームの送信ボタンを無効にすることができます。同様に、作成者は に、フォームと共に値 として送信する必要がある読み取り専用テキストを含めることができます。以下のセクションでは、無効化された、および読み取り専用のコントロールである について説明します。

http://www.w3.org/TR/html4/interact/forms.html#h-17.12

+0

を無効にすると、彫刻のように見えます。私はそれらを通常のスパンのように見せたい。また、それはドロップダウンボタンを取り除きません – Asdfg

+0

@Asdfgあなたは*特定の*程度にそれをスタイルすることができます。それ以外の場合は、 'select'を隠し、適切な値を持つ' span'のような他の 'element'を表示する必要があります。 – xandercoded

0

できません。ドロップダウンに表示される矢印を削除するスタイルはありません。

スパンのようにしたい場合は、ドロップダウンをスパンに置き換えます。他のすべてのハックは、ブラウザと互換性がないか、単純に複雑になることはありません。

このような方法の1つはHow to remove the arrow from a select element in Firefox

0

ない実行可能な解決策を矢印非表示にするには、しかし、あなたは矢印の色を変更することはできませんので、あなたはそれがspanタグのように見えるようにするために選択ボックスのために黒の背景色を設定する必要があります他の何か。

background-color: black; 
関連する問題