繁体   English   中英

jQuery从动态生成的下拉列表中获取选定的值

[英]JQuery Get selected value from dynamically generated dropdown

我有一个动态生成的下拉列表

以下是生成的下拉列表的代码段

<select class='selectAggregate'>
  <option>Select</option>
  <option>Min</option>
  <option>All</option>
</select>

我如何使用JQuery获得Seleceted选项

编辑我添加了我已经使用的jQuery代码

 $('.selectAggregate').each(function()
            {
                var $val = $("option:selected",this).text();                    
        }   

selectAggregate是动态生成的下拉列表的类属性

基于您使用“直接”绑定的假设,该绑定仅会附加到您的代码进行事件绑定调用时页面上存在的元素。

动态生成元素或操纵选择器(如删除和添加类)时,需要使用.on()委托事件方法使用事件委托。

一般语法

$(document).on('event','selector',callback_function)

$(document).on('change', ".selectAggregate", function(){
    alert($(this).val())
});

代替document您应该使用最近的静态容器。

委托事件的优点是,它们可以处理以后在后代添加到文档中的后代元素中的事件。 通过选择在附加委托事件处理程序时保证存在的元素,我们可以使用委托事件将click事件绑定到动态创建的元素,并且还避免了频繁附加和删除事件处理程序的需要。

尝试这个

 $("button").click(function(){
        $.each($(".selectAggregate option:selected"), function(){            
           var $val = $(this).text();

        });
    });
$(document).on('change','.selectAggregate', function() {
var temp = $('.selectAggregate').children(":selected").text();
});

这将帮助您,在这里您可以获得动态生成的select的值。 之所以使用change事件,是因为select(选项)内部的元素是动态生成的。

要获得选择的值,您可以在js文件中使用以下语句。

$(".selectAggregate option:selected").val();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM