如何使用jquery单击下拉列表中的第一个选项

时间:2014-11-20 08:41:46

标签: jquery

我在JSP中有以下下拉列表。

<s:select name="select_group_id" list="act_list_group"
    listKey="group_id" listValue="group_name" headerValue="select_group_id"
    style="width: 130px" id="ms" multiple="true"/>

我想检测点击下拉列表中的第一个选项的时间。 我已经尝试过如下,但似乎没有用。

$(function() {
    if(!$("#ms option:selected").length) {
        $("#ms option").attr("selected", "selected");
    }

    $('#ms').change(function() {

        $('#ms option:first').click(function(){
            //If user clicked the first(top) option in select box
            alert('first');
        });

        if(!$("#ms option:selected").length) {
            $("#ms").val($("#ms option:first").val());
            var selectedValue = $('#ms').val();
            var selectedText = $("#ms option[value='"+ selectedValue +"']").text();
            $(".ms-choice span").text(selectedText);
        }
        console.log($(this).val());
    }).multipleSelect({
        width: '130px',
        selectAll: false
    });
});

任何评论,请。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用.index()

  

从匹配的元素中搜索给定元素。

代码

var options = $("#ms option");
if(options.index($("#ms option:first") == options.index($("#ms option:selected"))
{
    //First one is selected
}

答案 1 :(得分:0)

<select id="ms">
    <option> First</option>
    <option> Second</option>
    <option> Third</option>
</select>

jQuery代码

$("#ms option:first").click(function(){
    alert("First option clicked");
});

<强> JS Fiddle