2011-07-06 12 views
1

私は2つの選択肢を持っています。複数の項目で何も選択されていない場合は「null」を返し、選択しないと最初のオプションが返されます。空を選択すると、multipleがnullを返し、単一のものが最初のオプションを返します

最初の(空の)オプションが選択されている場合は、「null」を返すために1つのselectが必要です。 jQueryや何か他の方法で何とか定義することが可能ですか?

私が言っていることを理解していますか?

乾杯!

編集:あなたは複数と対話することが「ヌル」が返されます選択しない場合

<select id="single"> 
    <option>Make your selection</option> 
    <option value="sel1">Test 1</option> 
    <option value="sel2">Test 2</option> 
    <option value="sel3">Test 3</option> 
    <option value="sel4">Test 4</option> 
</select> 

<select id="multi" multiple="multiple"> 
    <option>Make your selection</option> 
    <option value="mult1">Test 1</option> 
    <option value="mult2">Test 2</option> 
    <option value="mult3">Test 3</option> 
    <option value="mult4">Test 4</option> 
</select> 


コードは、まっすぐ進むちょうど2つの選択です。ユーザーがそれと対話せず、最初のオプションが選択されたままである場合、単一のものが "null"を返すようにしたいと思います。

+0

コードを追加すると、必要なものを理解しやすくなる場合があります –

+0

コードを追加してください –

+0

元の投稿を編集しました。 – Walker

答えて

1

これはブラウザの動作によるものです。最初は単一のselect要素で、最初の項目がデフォルトで選択されています。
第2に、<option>タグのvalue属性を省略すると、ブラウザは<option>というテキストを値として割り当てます。

最も簡単な解決策は、リスト内の最初の項目に空の値を追加することになります。

<option value="">Make your selection</option> 

あなたのJSコードを変更する必要はありませんこの方法です。

+0

ご返信ありがとうございます。この例で申し訳ありませんが、値がない場合、ブラウザは値として '

+1

シンプルなJSコードを使用すると、値が空の場合、ブラウザは要素を無効にすることによって何も送信しないことができます。これは実現可能ですか? –

+0

それはトリックでした。値が空であれば、submit時に選択を削除します。ヒント@Shadowをありがとう! – Walker

関連する問題