我有一个表单,当用户 Select 一个地方时,我需要在文本框中获得数据.如果用户 Select 一个地点,则以下名称和金额将出现在下面的文本框中.我已经做了以下工作,但它不起作用.有谁能帮我这个忙吗?

I have tried the following:

HTML

<div>
    <label for="" class="">Place</label>
    <select  name="place" id="place"  onchange="myplace();">
        <option value="">--Option from db--</option>
    </select>       
</div>

<div>
    <label for="" class="">Name</label>
    <input type="text"  name="myname" id="myname" value="<?php //if there is data in databas then it is shown here...otherwise the value will change according to the above selection?>" >  
</div>

<div>
    <label for="" class="">Amount</label>
    <input type="text"  name="myamnt" id="myamnt" value="<?php //if there is data in databas then it is shown here...otherwise the value will change according to the above selection?>" >  
</div>

MySQL:

if(!empty($_POST["myinitplace"]))
{
        
$sql = "SELECT * FROM all_data , my_place  WHERE all_data.place=my_place.place and all_data.place = ?";
$stmt = $conn->prepare($sql); 
$stmt->bind_param("s", $_POST["myinitplace"]);
$stmt->execute();
$result = $stmt->get_result(); 
while($rows = $result->fetch_assoc())   
{   
 $data['name']=$rows['name'] ;
 $data['myacc']=$rows['amount'] ;
                
}
echo json_encode($data);
                        
    }

Ajax

function myplace() 
{
        
    var a = document.getElementById("place").value;
    //alert(a);
    $.ajax({
        type : "POST",
        data : {
            myinitplace : a 
        },
        dataType :  "JSON",
        success : function(data){
         document.getElementById("myname").value = data.name;
         document.getElementById("myamnt").value = data.myacc;
        }
    })  
}

推荐答案

首先,我假设您已经在以下行中使用有效数据填充了SELECT块:

 <option value="">--Option from db--</option>

比如

<option value="Place1">Place1</option>
<option value="Place2">Place2</option>

在这种情况下,您需要稍微修改您的HTML代码,以便它显式地调用PHP脚本(通过指定URL),因此在AJAX块中添加行:

 url: "xxxx.php",

假设PHP脚本的名称为testSO3Sept2023.php,则该HTML将为:

<script
  src="https://code.jquery.com/jquery-3.7.1.js"
  integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4="
  crossorigin="anonymous"></script>

<div>
    <label for="" class="">Place</label>
    <select  name="place" id="place"  onchange="javascript:myplace();">
        <option value="">Please select</option>
        <option value="Place1">Place1</option>
        <option value="Place2">Place2</option>

    </select>       
</div>

<div>
    <label for="" class="">Name</label>
    <input type="text"  name="myname" id="myname" value="" >  
</div>

<div>
    <label for="" class="">Amount</label>
    <input type="text"  name="myamnt" id="myamnt" value="" >  
</div>

<script>
function myplace() 
{
        
    var a = document.getElementById("place").value;
    //alert(a);
    $.ajax({
        type : "POST",
        data : {
            myinitplace : a 
        },
        url: "testSO3Sept2023.php",
        dataType :  "JSON",
        success : function(data){
         document.getElementById("myname").value = data.name;
         document.getElementById("myamnt").value = data.myacc;
        }
    })  
}

</script>

你可以在这sandbox分钟内查看结果

Php相关问答推荐

当主页和帖子的缩略图相同时,如何减少主页和帖子的缩略图

从AJAX响应中获取一个未定义的html

Chillerlan/php-iOS名称字段的QR vCard错误

为什么只有最后一次点击的点赞/心形会按预期改变 colored颜色 ,而其他的保持正常 colored颜色 ?

返回WooCommerce中的所有已启用变体

如何使用索引加速和优化MySQL搜索

在个人资料页面上显示个人资料图像

限制联系人页面仅允许在WooCommerce中登录的用户

在 WooCommerce 中何时何地执行 woocommerce_order_status_completed_notification 挂钩?

在php中计算两个没有假期的日期之间的小时差

根据所选付款方式启用/禁用 WooCommerce 所需的 checkout 字段

循环中未序列化数组显示的问题

添加或删除优惠券后自动刷新 WooCommerce checkout 表单字段

如何搜索和替换 XML 文件中的一段文本?

PHP文件如何从CSS执行

同时执行odbc_execute、odbc_fetch_row和odbc_result

按前 3 列对二维数组中的行数据进行分组,然后用逗号连接每组中的其余列

Laravel 模型将日期保存为空

Laravel 从嵌套数组的第二级获取最后一项

WordPress 函数 get_post(post_id) 是否查询数据库?