如何通过jQuery

时间:2016-06-25 18:07:01

标签: jquery twitter-bootstrap bootstrap-multiselect

我正在使用Bootstrap-Multiselect(http://davidstutz.github.io/bootstrap-multiselect/

我有两个下拉列表,当在一个下拉列表中选择一个项目时,我需要重置另一个下拉列表。我一直试图使用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');
});

如何实现这一目标?

3 个答案:

答案 0 :(得分:8)

我怀疑你需要重置select元素,然后进行刷新,如下所示:

$("#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');
});

该代码借用Bootstrap Multiselect站点上的重置按钮代码。请参阅further examples

答案 1 :(得分:5)

取消选择所有选项的另一种方法。 (因为多选('刷新')对我不起作用。)

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

答案 2 :(得分:2)

这对我有用。

$('#ID').val('').multiselect('refresh');