php - AJAX 更新更改记录而无需重新加载页面[已关闭]

twh00eeo  于 2023-03-07  发布在  PHP
关注(0)|答案(1)|浏览(137)

**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
3天前关闭。
Improve this question
我需要创建一个表,在列中显示每个产品的大小,在行中显示每个产品的数量。我创建了一个查询,将不同的结果放入数组中,以获得列和行。创建表后,我需要在每次有人更改时进行更新

while($xx < count($testa))
    {
        $testaecho .= "<th>".$testa[$xx]."</th>";
        $corpoecho .= "<td style=' max-width: 20px;'>";
        $corpoecho .= "<form name='changeqta' method='post' action=''>";
        $corpoecho .= "<input type='number' maxlength='3' id='mod' value='".$corpo[$xx]."'>";
        $corpoecho .= "<input type='hidden' id='ctgr' value='".$idriga[$xx]."'>";
        $corpoecho .= "</form>";
        $corpoecho .= "</td>";
        $xx++;
    }

   echo "<tr>".$testaecho."</tr>";
   echo "<tr>".$corpoecho."</tr>";

在jquery中

<script>
$(document).ready(function(){
    $('#mod').on('change', function(){
        var name=$("#mod").val();
        var ctgr=$("#ctgr").val();
        $.ajax({
            url:'update.php',
            method:'POST',
            data:{
                name:name,
                ctgr:ctgr
            },
            success:function(response){
                alert(response);
            }
        });
    });
});

问题是只有第一个输入做的变化,如果我改变所有其他输入,第一个产品或其他产品不更新...是一样的,第二个“国防部”是不做提交
为甚么?

wn9m85ua

wn9m85ua1#

由于不可能有重复的id,请尝试使用类。请尝试使用属性代替另一个隐藏输入。例如,

$corpoecho .= "<input type='number' maxlength='3' class='mod' data-mod='".$idriga[$xx]."' value='".$corpo[$xx]."'>";

检查数据-mod ='“.$idriga[$xx]."”
现在在jquery中这样访问,

$('.mod').on('change', function(){
        var name = $(this).val(); // Get the value of changed item
        var ctgr = $(this).attr('data-mod'); // get arrtibute value
 ....
}

相关问题