2011-02-04 3 views
4

私はこのようなコードをしました:jqueryのブロック<select>

<select name="aa"> 
    <option>a</option> 
    <option>b</option> 
    <option>c</option> 
</select> 

この例では唯一のを選択するだけで最初のすべての私のフォームの選択開いて停止し、ショーを作成する方法はありますか?事前 CIAO 時間

答えて

7

おかげで:gt(0)フィルタ(0)と他のすべてのオプションを削除し、このような指標である:

$("select[name='aa'] option:gt(0)").remove(); 

かのようにそれらを無効にします。

$("select[name='aa'] option:gt(0)").attr("disabled", "disabled"); 

を選択し、:eq(0)フィルタを含む項目を選択します(0)は、このようなインデックス:

$("select[name='aa'] option:eq(0)").attr("selected", "selected"); 

:notフィルタで行うことができる。

$("select[name='aa'] :not(option:gt(0))").attr("disabled", "disabled"); 

又は:ltフィルタ:

$("select[name='aa'] option:lt(1)").attr("disabled", "disabled"); 

は単に空の文字列を割り当てる.attr("disabled", "");または.attr("selected", "");を使用して属性設定を削除します。

fiddle here

私はあなたが必要だと思う/フロップ値を反転するには秒(非表示)を選択します

fiddle here

// hide items 
var src = $("select[name='aa'] option:eq(0)"); 
var tar = $("select[name='ab']").hide(); 

tar.append(src.clone()) 
src.remove(); 


//reshow items: 
src = $("select[name='ab'] option:eq(0)"); 
tar = $("select[name='aa']") 

tar.prepend(src.clone()) 
src.remove(); 
+0

こと解決策があるようですが、逆にすることはできますか?再度、感謝します! – haltman

+0

@haltmanおそらくremove()の代わりにhide()とshow()を使うことができます。 – Tx3

+0

IIRCいくつかのブラウザ(IE?)は、 'option'sの表示/非表示をサポートしていません。 – RoToRa

1

何?デフォルトのオプションを選択することを意味しますか?オプション

<option selected>a</option> 

またはオプションが選択不可にするには、選択した属性を使用してみてください:

<option disabled>a</option> 
+0

いいえ私は別のものが必要です、私は* b * * c *を表示する可能性をブロックする必要があります、お返事いただきありがとうございます。 – haltman

1

あなたがこれを行うことができます:

$("select[name='aa']").val($("select[name='aa'] option:first").val()); 
1

あなたはドンなものを無効にすることができます選択できないようにするには、次のようなCSS表示を変更することができます。

$('select[name="aa"] option').not(':first').css('display','none'); 
あなたは、自動的に「デフォルト」値を設定したいとあなたが最初の1の値を設定し、誰もがそれを変更しないように全体のselect要素を無効にすることができ、誰もがそれを変更できない場合は

$('select[name="aa"]') 
    // set the value of the first option 
    .val($('select[name="aa"] option:first').val()) 
    // disable the select element so that no one can alter it's value 
    .attr('disabled','disabled'); 
関連する問題