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

时间:2016-10-31 19:31:18

标签: javascript php jquery ajax

我试图评估所有已选中复选框的值并传递结果 到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'>";

2 个答案:

答案 0 :(得分:0)

您可以使用此代码将值发送到服务器y o n

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);
                }
});

在你的php

$_GET['data-check'];

答案 1 :(得分:-1)

我认为您不需要使用total.php文件,但如果您真的想使用它,我建议您将代码更改为:

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

唯一的变化是您正在打印的字符串的连接