繁体   English   中英

如何使用jquery检测选择更改

[英]How to detect with jquery which select change

我正在创建一些选择,从 ajax 导入选项值和名称。 select的id如l1,l2,l(当前select的编号),select的名字是它的累进编号。 我必须检测哪个选择更改,我需要 ID 或名称。 这是我的代码:

   $("#plus").click(function(){
                    $('#prod').append(
                        $('<div/>',{
                            'class' : 'row',
                            'id': 'r' + nplus
                        }).append(
                        $('<div/>',{
                            'class' : 'col',
                            'id': 'cl' + nplus
                        }).append(
                        $( '<select/>', {
                            'id':'l' + nplus,
                            'type': 'select',
                            'name': nplus
                        }))).append(
                        $('<div/>',{
                            'class' : 'col',
                            'id': 'cp' + nplus
                        }).append(
                        $( '<select/>', {
                            'id':'p' + nplus,
                            'type': 'select',
                            'name': nplus
                        }))).append(
                        $('<div/>',{
                            'class' : 'col',
                            'id': 'cq' + nplus
                        }).append(
                        $( '<input/>', {
                            'id':'q' + nplus,
                            'type': 'number',
                            'name': nplus
                        }))))
                    nplus++;
    });

为了检测哪些选择更改,我尝试了:

$("select[id^='l']").change(function(){
                    var nameselect = $(this).attr("name");
                });

你有什么想法?

如果您有选择输入的选项,它可能如下所示:-

let nplus=0;
 $("#plus").click(function()
 {
                    $('#prod').append(
                        $('<div/>',{
                            'class' : 'row',
                            'id': 'r' + nplus
                        }).append(
                        $('<div/>',{
                            'class' : 'col',
                            'id': 'cl' + nplus
                        }).append(
                        $( '<select/>', {
                            'id':'l' + nplus,
                            'type': 'select',
                            'name': nplus
                        }).append(new Option('option 1', 'opt1', false, false)).append(new Option('Option 2', 'opt2', false, false)))).append(
                        $('<div/>',{
                            'class' : 'col',
                            'id': 'cp' + nplus
                        }).append(
                        $( '<select/>', {
                            'id':'p' + nplus,
                            'type': 'select',
                            'name': nplus
                        }).append(new Option('Option 2.1', 'opt2.1', false, false)).append(new Option('Option 2.2', 'opt2.2', false, false)))).append(
                        $('<div/>',{
                            'class' : 'col',
                            'id': 'cq' + nplus
                        }).append(
                        $( '<input/>', {
                            'id':'q' + nplus,
                            'type': 'number',
                            'name': nplus
                        }))))
                    nplus++;
    });

$(document).on('change','select', function() 
{
        let eleID = this.getAttribute('id');
        let eleName = this.getAttribute('name');
         console.log(eleID);
         console.log(eleName);
});

尝试示例

//检查控制台以获取所选元素的ID和名称:-

暂无
暂无

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

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