2016-06-25 93 views
4

我使用的引導,多選(http://davidstutz.github.io/bootstrap-multiselect/如何重置一個引導多選當另一個引導多選是通過jQuery

我有兩個下拉列表,當一個項目在一個下拉列表裏選擇我需要重置其他落下。我一直在嘗試使用onchange jQuery來做到這一點,但沒有成功。

如果從dropdown1中選擇了一個選項,那麼取消選中/重置dropdown2中的所有內容。

<form> 
    <select id="dropdown1" name="dropdown1" multiple="multiple"> 
     <option value="1">One</option> 
     <option value="2">Two</option> 
     <option value="3">Three</option> 
    </select> 

如果從dropdown2中選擇了一個選項,則取消選擇/重置dropdown1中的所有內容。

<select id="dropdown2" name="dropdown2" multiple="multiple"> 
     <option value="1">One</option> 
     <option value="2">Two</option> 
     <option value="3">Three</option> 
    </select> 
</form> 

我失敗的jQuery

$("#dropdown1").change(function() { 
    $('#dropdown2').multiselect('refresh'); 
}); 

$("#dropdown2").change(function() { 
    $('#dropdown1').multiselect('refresh'); 
}); 

如何來實現呢?

回答

4

我懷疑你需要重新設置中選擇元素,然後做了刷新,像這樣:

$("#dropdown1").change(function() { 
    $('#dropdown2 option:selected').each(function() { 
     $(this).prop('selected', false); 
    }) 
    $('#dropdown2').multiselect('refresh'); 
}); 

$("#dropdown2").change(function() { 
    $('#dropdown1 option:selected').each(function() { 
     $(this).prop('selected', false); 
    }) 
    $('#dropdown1').multiselect('refresh'); 
}); 

該代碼是從上引導多選網站上的復位按鈕代碼借來的。請參閱further examples

+0

完美工作,三江源 – Terry

+0

沒問題。你快到了。 –

1

取消所有選項的另一種方法。 (多選因( '刷新')並沒有爲我工作。)

$('#ID').multiselect('deselectAll', false);  
$('#ID').multiselect('updateButtonText');