如何使用Ajax和PHP将复选框值传递给文本输入

how to pass checkbox value to text input using Ajax and PHP?

本文关键字:值传 文本 输入 复选框 何使用 Ajax PHP      更新时间:2023-09-26

我试图评估所有选中的复选框的值并传递结果html文本输入我试图这样做,使用php和ajax,但我没有好的结果,请帮助这是我的代码:

    $(document).ready(function ()
          {
            $("#check").click(function ()
            {
                var data = $("#check").val();
                //get selected parent option 
                $.ajax(
                        {
                            type: "GET",
                            data:data,
                            url: "total.php?val="+data,
                            cache: false,
                            success: function (data)
                            {
                                $("#tot").html(data);
                            }
                        });
            });
        });
    </script>
</head>
<?php
$conn = mysqli_connect("localhost", "root", "", "voucher_test");
    $result = mysqli_query($conn, "SELECT * FROM vouchers where cat_id = 1");
    while ($row = mysqli_fetch_array($result)) {
        $userSet[] = $row;
    }
    ?>  
<form   action="index.php" method="post">
    <?php
            foreach ($userSet as $key=>$value){
                echo $value['service_name']."<input type='checkbox' id='check'  name='{$value['service_name']}' value='{$value['service_price']}'>";
            }
    ?>
    <br>
    <div id="tot"></div>
</form>

这是total.php

    <?php
      $itot = 5;
      $itot+=$_GET['val'];
      echo"<input type='text' value='$itot'>";

您可以使用此代码向服务器yn发送值

var data = ($("#check").is(":checked") ? 'y' : 'n';

如果你想发送复选框的值,试试下面的代码:

var data = new FormData();//Create FormData
if($("#check").is(":checked")){//Verified if the input os checked
    data.append('data-check',$("#check").val());//Add data of the checkbox to FormData
}
$.ajax(
     {
        type: "GET",
        data: data,
        url: "total.php",
        cache: false,
        success: function (data)
                {
                    $("#tot").html(data);
                }
});

$_GET['data-check'];

我认为你不需要使用整个。php文件,但如果你真的想使用它,我建议你把你的代码改成这样:

<?php
  $itot = 5;
  $itot+=$_GET['val'];
  echo"<input type='text' value='" . $itot . "'>";

唯一的变化是要打印的字符串的连接