在javascript中按下选择认为ctrl?

时间:2016-07-12 19:37:49

标签: javascript html select

我选择了启用了多个属性的选项。

<select id="lst_prueba1" size="8" multiple>
    <option>Alderaan</option>
    <option>Corellia</option>
    <option>Endor</option>
    <option>Kashyyyk</option>
    <option>Mustafar</option>
    <option>Naboo</option>
    <option>Nar Shaddaa</option>
    <option>Tatooine</option>
    <option>Yavin</option>
</select>   

但我想选择选项而无需按ctrl键。 有没有办法用javascript或onchange事件中的内容伪造印刷机?

这里提供的答案对我不起作用: How to avoid the need for ctrl-click in a multi-select box using Javascript?

1 个答案:

答案 0 :(得分:2)

虽然我建议使用评论中提到的复选框,但这应该可以解决问题。适用于Chrome,Firefox和Edge。可能需要根据您的要求进行更多测试。

<script>
    var selected = {};

    $("#lst_prueba1").click(function(e) {

        var options = this.options;
        var option;
        var value;

        value = $(this).val();

        for (var i = 0; i < options.length; i++) {
            option = options[i];

            if (option.value == value) {
                selected[value] = !selected[value];
            }

            option.selected = !!selected[option.value];
        }
    });
</script>