当使用jQuery时,如何重置一个Bootstrap Multiselect当另一个Bootstrap Multiselect被使用。

6

我正在使用 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个回答

12

我怀疑您需要重置选择元素,然后进行刷新,可以像这样:

$("#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网站上重置按钮代码中借鉴的。请查看进一步的示例


没问题。你差不多就快做到了。 - d3v_1

9

清除所有选项的另一种方法。(因为multiselect('refresh')对我不起作用。)

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

4

这个对我来说是有效的。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接