确定多选中是否只选择了一个选项

Determine if ONLY ONE option is selected in multi select

本文关键字:选项 一个 选择 是否      更新时间:2023-09-26

在下面的代码中,我使用了一个多选框,使用户可以选择多个选项。当用户选择其中一个选项时,我将在另一个div中显示所选选项的预览图像。

这一切都有效,但我希望能够使用图像预览更新div,以便在选择多个项目时显示占位符图像。

想法?

<select multiple id="opt1-opts">
      <option value="diesel_nova_rts_06_1996">Nova RTS-06 - 1996</option>
      <option value="diesel_nova_rts_06_1998">Nova RTS-06 - 1998</option>
      <option value="diesel_nova_rts_06_1999">Nova RTS-06 - 1999</option>
      <option>Nova 40LF - 2011</option>
      <option value="new_flyer_40lf_2011">New Flyer 40LF - 2011</option>
      <option value="orion_v_1995">Orion V WC - 1995</option>
      <option value="orion_v_1996">Orion V WC - 1996</option>
      <option value="orion_v_1999">Orion V WC - 1999</option>
      <option>Orion 40LF - 2011</option>
</select>
<div id="dialog-bus-type-image-info-area">
      <img src="imgs/LFS60102.JPG" border=0>
</div>
//bus type dialog scripts
$("#opt1-opts").change(function(){
    $("#dialog-bus-type-image-info-area").empty().append("<img src='imgs/busTypes/" + $("#opt1-opts option:selected").val() +".jpg' border='0'/>");
});

$("#opt1-opts option:selected").length将为您提供选择了多少个子选项。

这是一把小提琴:http://jsfiddle.net/moonspace/zQQbL/

HTML:

<select multiple id="opt1-opts">
      <option value="diesel_nova_rts_06_1996">Nova RTS-06 - 1996</option>
      <option value="diesel_nova_rts_06_1998">Nova RTS-06 - 1998</option>
      <option value="diesel_nova_rts_06_1999">Nova RTS-06 - 1999</option>
      <option>Nova 40LF - 2011</option>
      <option value="new_flyer_40lf_2011">New Flyer 40LF - 2011</option>
      <option value="orion_v_1995">Orion V WC - 1995</option>
      <option value="orion_v_1996">Orion V WC - 1996</option>
      <option value="orion_v_1999">Orion V WC - 1999</option>
      <option>Orion 40LF - 2011</option>
</select>
<div id="outputs"></div>

JS:

$("#opt1-opts").change(function(){
    var selectCount = $("#opt1-opts :selected").length;
    if (selectCount == 1){
        $('#outputs').html("ONLY one selected");
    }else{
        $('#outputs').html("");
    };
});

这样就可以了。