2017-03-29 9 views
0

ウェブサイトにmaterialized cssを使用して複数選択項目を実装しようとしています。すべての「オプション」タグがあらかじめ選択されている必要があります。だから私はこれを書いた:MaterializeCss |複数選択では、すべてのオプションをあらかじめ選択することはできません

$(document).ready(function() { 
    var select = $('#visa-type-selection'); 
    $(select).find("option").prop('selected', true); 
    $('#visa-type-selection').material_select(); 
    alert($("#visa-type-selection").val()); 
}); 

このコードは実際にすべての "オプション"を選択しています。以下のアラートコードは、このイメージを示しています。 enter image description here

しかし、材料の選択項目次のようになります。チェックボックスがチェックされているenter image description here

そして、私はアイテムをクリックしたとき、私は「オプション」Sのどれを見ていない:enter image description here

マテリアライズを「ULを作成します"、そして各オプションに対して、その中にチェックボックス+ラベルを作成し、あなたがonClickアクションを送信しなければそれらをチェックすることはできません。ここでHTMLを追加マテリアライズされています

<ul id="select-options-edd3cffe-6107-b8e0-322b-51f667907794" class="dropdown-content select-dropdown multiple-select-dropdown active" 
    style="width: 458px; position: absolute; top: 0px; left: 0px; opacity: 1; display: block;"> 
    <li class=""><span><input type="checkbox"><label></label>Shengen</span></li> 
    <li class=""><span><input type="checkbox"><label></label>İş</span></li> 
    <li class=""><span><input type="checkbox"><label></label>Öğrenci</span></li> 
    <li class=""><span><input type="checkbox"><label></label>Turist</span></li> 
    <li class=""><span><input type="checkbox"><label></label>Emekli</span></li> 
    <li class=""><span><input type="checkbox"><label></label>Erasmus</span></li> 
</ul> 

「UL」タグの生成されたIDは、それが作成されますたびに変化しているので、私は回避策を見つけるcouldn'd。

助けがあれば助かります。ありがとうございました。

答えて

1

私はあなたの言うことに完全に同意します。あなたができることは、jquery .prev()メソッドを適用し、すべてのulタグにアクセスすることです。私がしたことは: - それは事前に選ばれたgettigで私を助けました。まったく同じ方法でliにアクセスし、Activeクラスを追加する必要があります。

var a=$('#id_of_multiselect').prev().find(":checkbox"); 
        for(var i=0;i<=length_of_list;i++) 
        { 
         a[i].checked=true; 
        } 
      $('#egg_events').val(vals).trigger('update'); 
+0

私は、お客様の財政的な問題のためにプロジェクトをキャンセルしました。だから私は今あなたのヒントを試してみるつもりはありません。とにかくありがとう。たぶん一日私はこれを使用します:) –

+0

これは問題ありません!私は同じ問題を抱えていましたが、スタックのオーバーフローが発生していましたが、何もできませんでした。 –

関連する問題