猿问

选择框 onchange 时更新 mysql 表中的值

我有一个 html 表,其中包含我的 mysql db 表中的值。客户要求对我的 html 表中的数据进行前端编辑。所以我在点击时将 td 转换为选择框,用户将在其中选择 X 和 O 备注。


这是我的脚本:


 $(document).on('click', 'td', function() { ////---make td transform to dropdown list box when click---///

          if($(this).find('select').length == 0) {

              $(this).empty();  //clears out current text in the table

              $(this).append('<select onchange="myFunction()" id="Remarks" name="Remarks"><option value=""></option><option <?php if ($Remarks=='X') echo 'selected';?> value="X" style="font-size:20px;font-weight:bold;">X<option style="font-size:20px;color:green;font-weight:bold;" <?php if ($Remarks=='O') echo 'selected';?> value="O">O</select>');

          }

    });



    $(document).on('focusout', 'td select', function(){ 

        var myValue = $(this).val();

        var $parent = $(this).parent();

        $(this).remove();

        $parent.append(myValue);        

    });

我需要的是根据用户从选择框中选择的内容更新 td 的值。


这是我尝试过的:为选择框进行更改


function myFunction(){

        var emp_name = document.getElementById('employeeName').value;

        var r = document.getElementById('Remarks').value;

                $.ajax({

                    type: 'post',

                    url: 'update_data.php',

                    data: {

                        'employeeName' :emp_name,

                        'DAY1' : r

                    },

                    success: function(data){

                        $("#content").html(data)

                        $(".loader").fadeOut("veryslow");               

                        $("#content").hide().fadeIn(500)  

                        //alert(r); 

                        //alert(emp_name);

                    },

                    error:function(data){

                        alert('Failed');

                    }

                })


    };

这是我的 update_data.php :


<?php

    $employeeName = $_REQUEST["employeeName"];

    $Remarks = $_REQUEST["Remarks"];

    //$id = $_REQUEST["id"];

它更新数据库,但它在我进行更改的 td 值中给出了 null 值。我认为它在我的更新查询中没有得到 ':Remarks' 的值。


有什么帮助吗?


函数式编程
浏览 164回答 1
1回答

呼啦一阵风

检查$_REQUEST["Remarks"];应该是$_REQUEST["DAY1"];因为你data在 Ajax 中是这样发送的:data: {&nbsp; &nbsp; &nbsp; &nbsp;'employeeName' :emp_name,&nbsp; &nbsp; &nbsp; &nbsp;'DAY1' : r},因此,在PHP 中,您必须将其更改为:$employeeName = $_REQUEST["employeeName"];$Remarks = $_REQUEST["DAY1"];
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答