1

我有这个代码:

    $("#source_lang, #targ_lang").each(function(index, element) {

        if ($(this +'option:selected').length== 0) {
        //some code 
        }
        }

当没有选择列表中的任何项目时,我想显示错误消息。这没有给我任何结果(错误消息不显示)。

4

4 回答 4

5
$("#source_lang, #targ_lang").each(function() {
    if (this.selectedIndex === 0) {
        //some code 
    }
}

或 - 不使用 each - 你也可以检查

if ($("#source_lang, #targ_lang").find('option:selected').length < 2) {
    ...
}

(这意味着至少有一个选择没有被选中)

于 2012-07-25T10:20:18.080 回答
3

使用find()

if ($(this).find('option:selected').length== 0) {
        //some code 
}
于 2012-07-25T10:20:35.397 回答
0

在这里,我已经为上述解决方案完成了 bins,您可以查看演示链接。

演示: http ://codebins.com/bin/4ldqp9m

HTML

<div id="panel">
  <select id="sel_country" multiple="multiple" size="4" class="select">
    <option value="India">
      India
    </option>
    <option value="USA">
      USA
    </option>
    <option value="UK">
      UK
    </option>
    <option value="England">
      England
    </option>
    <option value="France">
      France
    </option>
    <option value="Australia">
      Australia
    </option>
    <option value="Norvey">
      Norvey
    </option>
    <option value="South Africa">
      South Africa
    </option>
    <option value="Malesiya">
      Malesiya
    </option>
    <option value="Dubai">
      Dubai
    </option>
  </select>
  <br/>
  <input type="button" id="btn1" name="btn1" value="Get Selected Values" />
  <div id="result">
  </div>
</div>

jQuery:

$(function() {
    $("#btn1").click(function() {
        var seloptions = $("select#sel_country").val() || "";
        if (seloptions != "") {
            $("#result").text(seloptions);
        } else {
            $("#result").text("You have not selected any option(s)..!");
        }
    });
});

演示: http ://codebins.com/bin/4ldqp9m

于 2012-07-25T13:18:27.963 回答
0

当没有对 HTML SELECT 下拉菜单执行任何操作时, selectedIndex 为 -1。

HTML

<select name="city" id="select-dropdown">
    <option value="">Select City</option>
    <option value="4856">Mumbai</option>
    <option value="5684">London</option>
    <option value="5983">New York</option>
</select>

jQuery :

if ($("#select-dropdown")[0].selectedIndex <= 0) {
    alert('Please select City.');
    $("#select-dropdown").focus();
    return false;
}

试一次。它会起作用的。

于 2018-05-14T17:34:31.263 回答