Jquery,获取多维数组键的值

Jquery,获取多维数组键的值,jquery,multidimensional-array,onchange,Jquery,Multidimensional Array,Onchange,我有一个html表单(我无法编辑),没有ID和名称属性,如下所示: name=“元数据[团队成员][42][名称]” 我需要做两件事 检测元数据[团队成员]的名称和实例是否曾经更改或更新 获取第二个数组级别的INT值(如果是) 以下是到目前为止我得到的信息: $('[name="metadata[team-member]"]').on('change', function() { alert('woo'); }); 这甚至没有检测到字段被改变。 这是一份成员姓名、电子邮件和状态列表,仅

我有一个html表单(我无法编辑),没有ID和名称属性,如下所示:

name=“元数据[团队成员][42][名称]”

我需要做两件事

  • 检测元数据[团队成员]的名称和实例是否曾经更改或更新

  • 获取第二个数组级别的INT值(如果是)

  • 以下是到目前为止我得到的信息:

    $('[name="metadata[team-member]"]').on('change', function() {
        alert('woo');
    });
    
    这甚至没有检测到字段被改变。 这是一份成员姓名、电子邮件和状态列表,仅供参考。因此,其他字段将为:
    name=“metadata[team member][42][email]等…但我不在乎这一点,我只需要INT。

    这是因为您的选择器错误,在这种情况下,name属性是
    metadata[team member][42][name]
    。因为您使用的是过滤器,所以它会查找完全匹配

    您可以将选择器更改为使用选择器,这将筛选名称以元数据[团队成员]开头的所有元素。

    $('[name^="metadata[team-member]"]')
    
    获取处理程序内部的int值

    var name = this.name;
    var intpart = 'metadata[team-member][42][name]'.match(/\[(\d+)\]/)[1];
    

    这是因为您的选择器错误,在本例中,“名称”属性为
    metadata[team member][42][name]
    。因为您使用的是过滤器,所以它会查找完全匹配

    您可以将选择器更改为使用选择器,这将筛选名称以元数据[团队成员]开头的所有元素。

    $('[name^="metadata[team-member]"]')
    
    获取处理程序内部的int值

    var name = this.name;
    var intpart = 'metadata[team-member][42][name]'.match(/\[(\d+)\]/)[1];
    

    使用正则表达式从名称获取id:

    $('[name^="metadata[team-member]"]').on('change', function() {
        var name = $(this).attr('name');
        var id = parseInt(name.match(/\d{2}/)[0]);
    });
    

    使用正则表达式从名称获取id:

    $('[name^="metadata[team-member]"]').on('change', function() {
        var name = $(this).attr('name');
        var id = parseInt(name.match(/\d{2}/)[0]);
    });
    

    我画了一个小样本

    $('input[name="test[test]"]').on('change', function(){
    
      alert(123);
    
    });
    
    看看这个
    我画了一个小样本

    $('input[name="test[test]"]').on('change', function(){
    
      alert(123);
    
    });
    
    看看这个

    这是我使用的解决方案..我将很快更新我的问题以包含我的特定版本..非常感谢..!这是我使用的解决方案..我将很快更新我的问题以包含我的特定版本..非常感谢。。!