如果没有从下拉列表中选择,则为jquery

时间:2012-07-25 10:18:17

标签: jquery

我有这个代码:

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

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

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

4 个答案:

答案 0 :(得分:5)

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

或 - 不使用每个 - 你也可以检查

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

(这意味着至少尚未选择一个选项)

答案 1 :(得分:3)

使用find()

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

答案 2 :(得分:0)

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

演示: 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

答案 3 :(得分:0)

The selectedIndex is -1 when no action has been taken on the HTML SELECT Dropdown.

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;
}

Try it once. It will work.