使用$(this)对象获取DropDownList的选定项

时间:2015-08-31 03:13:02

标签: javascript jquery asp.net javascript-events

如何使用$(this)获取DropDownList的选定项目?

我在网页中有两个DropDownLists。我想获取所选的项目名称。我尝试了3种方法,每种方法都有不同的结果

  1. 此方法在"第1列表"中显示了所选项目。以及"第二个列表"的选定项目。我想这是因为选择器没有使用ID进行限定。

  2. 此方法给出了正确的结果。我可以使用$(this)而不是ID来获得相同的结果。我想这个对象将指向html-element。

  3. 此方法未给出结果

    (文档)$。就绪(         功能()         {              $('#IdServerType')。bind("更改",LoadX);         } );

  4. function LoadX()
    {
        var str = "";
    
        /////  1
        str = $("select option:selected").text(); 
        console.log('menu clicked: ' + str);
    
        /////  2
        str = $("#IdServerType option:selected").text();
        console.log('menu clicked: ' + str);
    
        /////  3
        str = $("this option:selected").text(); //3
        console.log('menu clicked: ' + str);
    }
    

    请注意我希望将事件注册和事件处理程序分开;有助于代码维护。

1 个答案:

答案 0 :(得分:2)

您可以$(this)使用children()来获取所选的option元素。

str = $(this).children("option:selected").text();

children('option:selected')将从option元素中选择所选的select