Javascript JQuery从动态生成的下拉列表中获取所选值
我有一个动态生成的下拉列表 下面是生成的下拉列表的代码片段Javascript JQuery从动态生成的下拉列表中获取所选值,javascript,jquery,html,drop-down-menu,html-select,Javascript,Jquery,Html,Drop Down Menu,Html Select,我有一个动态生成的下拉列表 下面是生成的下拉列表的代码片段 <select class='selectAggregate'> <option>Select</option> <option>Min</option> <option>All</option> </select> selectAggregate是动态生成的下拉列表的class属性 $("button").click(fun
<select class='selectAggregate'>
<option>Select</option>
<option>Min</option>
<option>All</option>
</select>
selectAggregate
是动态生成的下拉列表的class属性
$("button").click(function(){
$.each($(".selectAggregate option:selected"), function(){
var $val = $(this).text();
});
});
试试这个
$("button").click(function(){
$.each($(".selectAggregate option:selected"), function(){
var $val = $(this).text();
});
});
基于您正在使用“直接”绑定的假设,该绑定将仅附加到代码进行事件绑定调用时页面上存在的元素 在动态生成元素或操纵选择器(如删除和添加类)时,需要使用委托事件方法 一般语法 范例 您应该使用最接近的静态容器来代替
文档
委派事件的优点是,它们可以处理来自子元素的事件,这些子元素将在以后添加到文档中。通过选择在附加委托事件处理程序时保证存在的元素,我们可以使用委托事件将单击事件绑定到动态创建的元素,并避免频繁附加和删除事件处理程序
基于您正在使用“直接”绑定的假设,该绑定将仅附加到代码进行事件绑定调用时页面上存在的元素 在动态生成元素或操纵选择器(如删除和添加类)时,需要使用委托事件方法 一般语法 范例 您应该使用最接近的静态容器来代替
文档
委派事件的优点是,它们可以处理来自子元素的事件,这些子元素将在以后添加到文档中。通过选择在附加委托事件处理程序时保证存在的元素,我们可以使用委托事件将单击事件绑定到动态创建的元素,并避免频繁附加和删除事件处理程序
要获得所选值,可以在js文件中使用以下语句
$(".selectAggregate option:selected").val();
要获得所选值,可以在js文件中使用以下语句
$(".selectAggregate option:selected").val();
这将帮助您,在这里您可以获得动态生成的select的值。
之所以使用更改事件,是因为select(选项)中的元素是动态生成的
这将帮助您,在这里您可以获得动态生成的select的值。
之所以使用更改事件,是因为正在动态生成select(选项)中的元素。向我们展示您如何尝试
$('.selectAggregate').val()
'var$val=$(“选项:已选”,this).val()
对当前元素使用this'
最好将value属性添加到选项标记中,然后尝试相同的添加值,并使用text()
获取$('.class')。每个(函数(){var$val=$(“选项:已选择”,this).val();})
.class
是下拉列表的类值显示您如何尝试$('.selectAggregate').val()
'var$val=$(“选项:已选择”,this).val()
对当前元素使用this'
最好将value属性添加到选项标记中,然后尝试相同的添加值,并使用text()
获取$('.class')。每个(函数(){var$val=$(“选项:已选择”,this).val();})
。class
是下拉列表的类值选择没有值如果发生这种情况,则文本将作为值进行计算。然后您需要提供您在此处尝试过的代码,以便修复。根据您更新的问题编辑了以上我的答案,请参阅:选择“无值”。如果出现这种情况,则文本将作为值进行计算。然后,您需要提供您在此处尝试过的代码,以便对其进行修复。根据您更新的问题编辑了以上我的答案,请参阅:是,您明白我的观点:)。但是我需要在函数中获取所选的值。即使手动调用更改事件,该方法仍然不能用于任何动态生成的dom对象。您所做的内存中更改仍然无法访问。有人有真正可行的解决方案吗?是的,你明白我的意思:)。但是我需要在函数中获取所选的值。即使手动调用更改事件,该方法仍然不能用于任何动态生成的dom对象。您所做的内存中更改仍然无法访问。任何人都有真正有效的解决方案吗?此答案不考虑事件更改
此答案不考虑事件更改
这将不适用于动态创建的select元素,很遗憾。除非您使用鼠标进行选择,否则不会触发该事件(如果以编程方式创建选项,则不会触发!)。不幸的是,这对于动态创建的select元素不起作用。除非您使用鼠标进行选择,否则不会触发事件(如果以编程方式创建选项,则不会触发!)。
$(".selectAggregate option:selected").val();
$(document).on('change','.selectAggregate', function() {
var temp = $('.selectAggregate').children(":selected").text();
});