Javascript 如何将onchange函数与使用括号的动态id一起使用

Javascript 如何将onchange函数与使用括号的动态id一起使用,javascript,php,jquery,Javascript,Php,Jquery,我有一个由mysqli查询创建的php表,我希望用户能够更新文本单元格的日期值。出于其他格式原因,我选择不使用日期输入 我的脚本适用于id不包含方括号的其他表单,并立即正确更改表单值。然而,当我将onchange函数应用于表单元格时,id中的括号似乎阻碍了我。我可以在控制台中看到,我正在调用正确的括号中的id,但是,没有其他事情发生 这是我的手机: <td> <input type='text' class='form-control form-control-sm'

我有一个由mysqli查询创建的php表,我希望用户能够更新文本单元格的日期值。出于其他格式原因,我选择不使用日期输入

我的脚本适用于id不包含方括号的其他表单,并立即正确更改表单值。然而,当我将onchange函数应用于表单元格时,id中的括号似乎阻碍了我。我可以在控制台中看到,我正在调用正确的括号中的id,但是,没有其他事情发生

这是我的手机:

<td>
    <input type='text' class='form-control form-control-sm' 
id='tbl_date01[".$tbl_ID."]' name='tbl_date01[".$tbl_ID."]' 
value='".$tbl_date01."' onchange=\"dateChange()\" required />
</td>

不是括号,而是引号。console.log(id)或console.log(y)console.log(id)的输出是什么?log(id)是tbl_date01[37],数字37根据我要更新的数据行而变化。控制台。日志(y)是什么?(问号字符)。谢谢你的帮助!我是新来的。我应该提到的是,表数据都在一个php echo中。现在您有了console.log,请检查浏览器上的元素,看看上面的id是什么谢谢您的帮助!这也显示了关于检查的tbl_date02[37]:为什么console.log为tbl_date01而检查为tbl_date02?不是括号,而是引号。console.log(id)或console.log(y)console.log(id)的输出是什么?log(id)是tbl_date01[37],数字37根据我要更新的数据行而变化。控制台。日志(y)是什么?(问号字符)。谢谢你的帮助!我是新来的。我应该提到的是,表数据都在一个php echo中。现在您有了console.log,请检查浏览器上的元素,看看上面的id是什么谢谢您的帮助!这也显示了关于检查的tbl_date02[37]:为什么console.log为tbl_date01,而检查为tbl_date02?
function dateChange(){
    var id = (event.target.id);
    var y = document.getElementById(id).value;
    if(y === '?'){
        $("#"+id).val(new Date().toJSON().slice(0,10).substring(5,7) + '/' + new Date().toJSON().slice(0,10).substring(8,10) + '/' + new Date().toJSON().slice(0,10).substring(0,4));
    return;
    };
};