我在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
});
});
任何评论,请。 提前谢谢。
答案 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 强>