所选项目的索引

时间:2011-05-13 12:32:43

标签: jquery

我想使用jquery获取所选项目的索引。 我尝试了一些可能性,但我总是“未定义”。

<select name="atvetel_mod" id="atvetel_mod">
<option value="0">kérem válasszon</option> 
<option value="1">Személyesen</option> 
<option value="2">Futár</option> 
<option value="3">Posta</option> 
</select>

$('#atvetel_mod').change(function() {
    alert($("#atvetel_mod").attr("selectedIndex"));
});

感谢。

7 个答案:

答案 0 :(得分:5)

仍在回答获取下拉菜单索引的问题;在1.6+你可以做:

var index = $("#foo").prop("selectedIndex");

答案 1 :(得分:3)

它应该有用。

你可以试试这个

$("#selectID option").index($("#selectID option:selected"))

答案 2 :(得分:0)

你可以用这个

alert($(this).val());

答案 3 :(得分:0)

我认为是

$("#atvetel_mod").val()

答案 4 :(得分:0)

或者,如果您想从下拉菜单中获取所选项目的实际价值,您也可以这样做...我将这个帖子中的几个答案结合起来得出这个答案。

 function showother(){
      var test = jQuery("#institution option:selected").val();
      if(test !== 'other') {

              jQuery("#other_field").css("display","none");

      } else {

        jQuery("#other_field").css("display", "block");

       }
   };

我这样做而不是使用索引的原因是因为我希望只有当用户从我的下拉菜单中选择“其他”时才会出现一个额外的表单字段。如果他们选择其他任何东西,额外的字段就会消失。菜单是动态填充的,我想将另一个选项放在列表的最底部。这就是为什么索引不适合我。我认为这种方法更灵活,因为您可以选择要检查的值,而不是锁定在选择菜单的索引中。

因此,要在下拉菜单中使用此功能,只需在选择菜单中添加onchange =“showother()”即可。该函数将运行并从所选项中获取值,对值进行检查并确定是否需要显示id =“other_field”的div,其中包含额外的表单字段。就是这样。

答案 5 :(得分:0)

$('#atvetel_mod option:selected')。index()

答案 6 :(得分:-1)

$('#atvetel_mod').change(function() {       
          var index;          
          $('#atvetel_mod option:selected').each(function () {
                index = $(this).val();
          });          
          alert(index);      
});