我有一个生成动态
的下拉列表以下是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
是动态生成的下拉列表的类属性
答案 0 :(得分:9)
基于您正在使用的假设&#34;直接&#34;绑定,它只会附加到代码进行事件绑定调用时页面上存在的元素。
在动态生成元素或操作选择器(如删除和添加类)时,需要使用Event Delegation委托事件方法.on()。
一般语法
$(document).on('event','selector',callback_function)
实施例
$(document).on('change', ".selectAggregate", function(){
alert($(this).val())
});
代替document
,您应该使用最近的静态容器。
委派事件的优点是,它们可以处理来自稍后添加到文档的后代元素的事件。通过选择在附加委托事件处理程序时保证存在的元素,我们可以使用委托事件将click事件绑定到动态创建的元素,并且还避免频繁附加和删除事件处理程序的需要。
答案 1 :(得分:3)
试试这个
$("button").click(function(){
$.each($(".selectAggregate option:selected"), function(){
var $val = $(this).text();
});
});
答案 2 :(得分:0)
$(document).on('change','.selectAggregate', function() {
var temp = $('.selectAggregate').children(":selected").text();
});
这将帮助您,在这里您可以获得动态生成的select的值。 之所以使用change事件,是因为select(option)内部的元素是动态生成的。
答案 3 :(得分:-1)
要获取所选值,您可以在js文件中使用以下语句。
$(".selectAggregate option:selected").val();