Javascript 在另一个变量中添加循环变量的语法

Javascript syntax to add a loop variable inside another variable

我希望将以下 id 变量:e1、e2 等合并到一个循环中。

处理 '#e'+i'#e'+i 元素的正确语法是什么,以避免编写多个函数,例如。 : $(document).on('change', '#e1', function() {var exp = 'e1';

PS: 目前on change功能未触发

for (var i = 0; i < 10; i++) {      
        
$(document).ready(function() {          
              $(document).on('change', '#e'+i, function() {
                if ($("#e"+i).is(":checked")) {     var chk = $('#e'+i).val(); var exp = 'e'+i; }
                else {  chk = 0 ;   var exp = 'e'+i;    }
                $.ajax({
                        url: "modify.php",
                        method: "POST",
                        data: {check: chk, experience: exp },
                  });
              });       
            })
            ;
        }       

你让你的生活更加困难,你的代码也太复杂了。考虑这种方法,它使用 class 名称而不是动态 ID。

$(document).ready(function() {
  $('body').on('change', '.changeable', function() {
    let data = {
      check: $(this).is(":checked") ? $(this).val() : 0,
      experience: $(this).data('ref')
    }
    return console.log(data);
    $.ajax({
      url: "modify.php",
      method: "POST",
      data: data,
    });
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type='checkbox' data-ref="e1" class="changeable" value='val1' />
<input type='checkbox' data-ref="e2" class="changeable" value='val2' />
<input type='checkbox' data-ref="e3" class="changeable" value='val3' />