2016-12-06 13 views
0

私は、以下に示すようにマルチセレクションをhtmlで持っています。 すべてのタイプが選択されている場合は、すべてのオプションを無効にしようとしています。すべてのタイプ他の(1つ以上の)オプションが選択されている場合は無効にします。ページがロードされると、デフォルトでのすべてのタイプが選択されています。ユーザーは後で変更できます。 HTMLは次のようになります。マルチセレクションで他のオプションを選択すると、オプションを無効にします

<select multiple="multiple" class="multiselect"> 
    <option value="default" selected="selected">All Types</option> 
    <option value="Mobile">Mobile</option> 
    <option value="Laptop">Laptop</option> 
    <option value="Desktop">Desktop</option> 
</select>  

とjQueryのように:

$(".multiselect").multiselect({ 
    buttonWidth: '150px', 
    onChange:function(){ 
    /*some code needed here*/ 
    } 
}); 

「すべての種類]を選択すると、結果がどうあるべき[ 'モバイル'、 'ノートパソコン'、 'デスクトップ']['default']他のオプションが1つ以上選択されている場合は、その配列の値を返します。私は、UIのオプションを無効にするいくつかの問題に直面している。これを解決する解決策を探しています。事前に感謝:)

答えて

0

デフォルト「が選択されている 『』値があれば、」条件は次のとおりです。その後

if($(this).val() == "default") 

、あなただけ無効にしたり、通常のjQueryを経由して行うことができますオプションを有効にする必要があります。

$("option[value='Mobile']").prop("disabled", true); 
0

次の変更イベント

$('select').on('change',function(){ 
$(this).find('option').prop("disabled", false);//enable all 
if($(this).find('option:selected').is('option[value="default"]')) {} 
    $(this).find('option:not(":selected")').prop("disabled", true); 
}) 
+0

を使用してみてください、私はこれを試してみましたが、それは誤りスロー - 「にReferenceErrorを:オプションが定義されていない」、それは動作しません –

+0

あなたは、エラーを修正しましたか? – madalinivascu

+0

それは通常の選択のために働くかもしれません。質問は、Jqueryの複数選択です –

関連する問題