2017-02-13 76 views
0

我一直在一個項目中,我有兩個選擇在html代碼。jquery不能與物化選擇隱藏

第二個選擇應該只在第一個選擇滿足某些條件時啓用。

這裏是JSfiddle鏈接。

$(document).ready(function() { 
 
     $('select').material_select(); 
 
     $("select[name=type]").change(function() { 
 
     alert("hola"); 
 
     if (this.value == "1") { 
 
      <!-- $("select[name=Effect]").material_select("destroy"); --> 
 
      $("select[name=Effect]").prop("disabled", false); 
 
      <!-- $("select[name=Effect]").material_select(); --> 
 
     } else { 
 
      <!-- $("select[name=Effect]").material_select("destroy"); --> 
 
      $("select[name=Effect]").prop("disabled", true); 
 
      <!-- $("select[name=Effect]").material_select(); --> 
 
     } 
 

 
     });
<div class="input-field col sm2"> 
 
    <select name="type"> 
 
    <option value="" disabled selected>Choose your option</option> 
 
    <option value="1">A</option> 
 
    <option value="2">B</option> 
 
    <option value="3">C</option> 
 
    </select> 
 
    <label>Type</label> 
 
</div> 
 

 
<div class="input-field col sm2"> 
 
    <select name="Effect" disabled> 
 
    <option value="" disabled selected>Choose your option</option> 
 
    <option value="1">AA</option> 
 
    <option value="2">BB</option> 
 
    <option value="3">CC</option> 
 
    </select> 
 
    <label>Effect</label> 
 
</div>

注意: jQuery的沒有物質化是完全正常工作。

任何形式的幫助都可以。

Jsfiddle代碼會很酷。 :)

+0

我想在你的jsfiddle中,你錯過了關閉brac'});'在最後。 –

+0

@AururRahmanMunna真棒抓人。我多愚蠢。 – unlucy7735

回答

0

我從here.

感謝答案@ahrim。

問題是物化html元素的方式。爲了做任何更新,

  1. 您必須銷燬Mr.Materialize$('#mySelectID').material_select('destroy');
  2. 用jquery(或任何JS)做你的工作
  3. 重新附加Mr.Materialize。 - $('#mySelectID').material_select();