gpt4 book ai didi

javascript - 如何动态创建 "change"事件处理程序?

转载 作者:行者123 更新时间:2023-11-28 13:22:01 24 4
gpt4 key购买 nike

我动态创建下拉菜单。

它们的 ID 为 ddl1ddl2ddl3 等。

$('#ddl1').focus(function() {
var previous = this.value;
}).change(function() {
var index = $(this).find('selected').index();
$('#ddl1').find('option:eq(' + index + ')').hide();
$('#ddl2').find('option:eq(' + index + ')').hide();
});

$('#ddl2').focus(function() {
...

创建 7 个下拉菜单使我需要编写 7 个 change 事件处理程序。

如何实现动态创建change事件?

我的下拉附加方法是:

var x=1;
var dropdown=('#ddl1').html();
$('#btnadd').click(function() {
$('#divname').append('<select id="ddl'+x+' > </select> <option>../option>');
x++;
});

最佳答案

为每个下拉列表提供一个公共(public)类并引用它。另外,使用 .on() (事件委托(delegate))来捕获动态创建的元素:

$(document).on('change', '.common-class', function() {
//Your function
var currentId = $(this).attr('id');
});

更新

每次附加 select 元素时都添加相同的类:

//...
$('#divname').append('<select id="ddl'+ x + '" class="common-class"><option>../option></select>');

所选选项

为了获取所选选项:

$('#current-id').find('option:selected').index();

关于javascript - 如何动态创建 "change"事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32271603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com