获取下拉列表从JS函数中的“This”中选择文本

时间:2014-05-01 08:10:55

标签: javascript jquery

我的页面中有几个下拉菜单。在页面加载时,我需要从下拉列表中提取所有选定的文本并执行某些操作。我已经使用此函数来提取所选文本:

$(window).load(function() {
      $("select").each(function() {

      //get the selected texts here             
      alert($(this).text()); 
      });
});

但是这个函数会提取下拉列表中的所有值(而不仅仅是选定的值)。我怎样才能获得所选文本?我找到了'选项:已选中'在网络,但如何与$(this)选择器一起使用?请帮忙。

4 个答案:

答案 0 :(得分:2)

您可以将findoption:selected

一起使用
$(this).find('option:selected').text();

答案 1 :(得分:2)

你可以这样做:

$("select :selected").each(function() {
      //get the selected texts here             
  alert($(this).text()); 
});

答案 2 :(得分:1)

如果它是多选的,或者您希望获得页面上所有下拉列表的所有选定选项,则可以迭代select > option:selected

  $("select > option:selected").each(function() {

      //get the selected texts here             
      alert($(this).text()); 
  });

对于标准选择,只需选择一个选项:

 var selectedText = $("select > option:selected").text();

答案 3 :(得分:0)

您的代码无法正常工作的原因是因为在您的选择器中您没有表明您想要检索所有选定的元素。这可以使用:selected完成。

以下是一个例子:

$(window).load(function() {
    // Iterate through all selected elements
    $("select :selected").each(function(index) {    
        // Get the selected texts here
        alert("Item: " + index + " - Value: " + $(this).text()); 
        // Or just alert($(this).text());
    });
});

向上看: