Javascript 更改数组中的动态复选框以更新mysql数据库

Javascript 更改数组中的动态复选框以更新mysql数据库,javascript,php,jquery,Javascript,Php,Jquery,您好,我真的很难处理复选框我有一个表单,可以从mysql表中输入小时数详细信息,我有一个加班复选框,它在添加新的小时数时起作用,但我希望能够将复选框中的更改保存回数据库,例如,经理不同意这是加班。正如你在下面看到的 它被读入一个数组,因此我不知道如何更改右侧名为chg_hours_show_ovt的文本框。它将被隐藏,然后在数据库中更新 我已经尝试了以下方法,但我不确定我的思路是否正确,任何帮助都将不胜感激 我从数据库中得到如下表格。我不想检查。真的,因为它可能不是,通常也不会是,但我不知道如

您好,我真的很难处理复选框我有一个表单,可以从mysql表中输入小时数详细信息,我有一个加班复选框,它在添加新的小时数时起作用,但我希望能够将复选框中的更改保存回数据库,例如,经理不同意这是加班。正如你在下面看到的

它被读入一个数组,因此我不知道如何更改右侧名为chg_hours_show_ovt的文本框。它将被隐藏,然后在数据库中更新

我已经尝试了以下方法,但我不确定我的思路是否正确,任何帮助都将不胜感激

我从数据库中得到如下表格。我不想检查。真的,因为它可能不是,通常也不会是,但我不知道如何做它,例如…瓦尔?但无论我做什么,它都不会改变。我有点担心我这里的东西会改变每个复选框

很抱歉,我对所有的语言都很陌生,尤其是java和jquery。 多谢各位

    $('#chg_hours_ovt').on('change',function() {
      if($(this).checked) {
        $('#chg_hours_show_ovt').val($('#chg_hours_ovt').val());
      }
});


</script>
$('chg#u hours_ovt')。在('change',function()上{
如果($(this).checked){
$('chg#u hours_show_ovt').val($('chg#u hours_ovt').val());
}
});

while($list\u hours=mysqli\u fetch\u数组($hours\u result))
{
回声“;
回声';
回声“开始时间”;
回声“完成时间”;
回音“工作日期”;
回声“超时”;
回声“超时”;
回声“;
}
回声“;
试试这个:

    $("input[name='chg_hrs_ovt[]']").on('change', function () {
        var bValue = $(this).is(':checked') ? 1 : 0;
        //get current row
         var row = $(this).closest('tr');
         //find overtime
         row.find("input[name='chg_hrs_show_ovt[]']").val(bValue);       
    });

不过,我想您不需要变量“chg_hrs_show_ovt[]”,您可以只发送“chg_hrs_ovt[]”并在服务器端捕获它。

首先:使用
$(“#chg_hours_ovt”)
选择具有
id
,而不是
name
的所有元素。我会将其更改为类选择器,然后找到该表中的最后一列。第二:您不需要将
chg\u hrs\u ovt
的值复制到
…show\u ovt
:复选框值也将发送到服务器。您可以更改该复选框,让侦听器更新db。“特别是java”-这里吹毛求疵,但javascript与java非常不同;小心别把那两个人搞混了。类似地,jQuery不是一种语言——它是一个javascript库。早上好,雷科巴非常感谢您,我已经尝试过了,但在单击超时复选框时它没有做任何更改。查看结果:,您必须添加jQuery作为外部资源,例如:Hello rescobar非常感谢您的回复。这是jquery库,这很奇怪,因为我有,但它不工作,我下载到我的网站上,但是后来我添加了你建议的后来的库,但是我网站的另一部分停止使用添加字段,但是你的函数和现有的其他函数都可以工作,但是我不确定它是否应该同时运行,或者它会引起问题。
    $("input[name='chg_hrs_ovt[]']").on('change', function () {
        var bValue = $(this).is(':checked') ? 1 : 0;
        //get current row
         var row = $(this).closest('tr');
         //find overtime
         row.find("input[name='chg_hrs_show_ovt[]']").val(bValue);       
    });