使用 PHP 从 jQuery 结果中单击一个文本框时,在文本框上显示值

display values on a textbox when click one from a jquery result with php

本文关键字:文本 一个 显示 jQuery PHP 结果 单击 使用      更新时间:2023-09-26

当我从html5日期字段中选择一个日期时,它将显示该日期的可用车辆列表。我使用 jquery $.post 来检索数据。现在,我需要从列表中选择一个车辆编号和驾驶员 ID,并在相同表单的文本字段中显示这些值,而无需刷新表单。

<script type="text/javascript">
        
        $(document).ready(function(){
          //send data to process if vehicles available for the selected date from the input
        $('#Odate').change(function(){
          var cdate=$(this).val();
          
          $.post('searchExistingDrivers.php',{dates:cdate}, function(data) {
          $('#odateInfo').slideDown(300);
          $('#odateInfo').html(data);
         
          //alert(data);
        });
        });
        
        $('a').click(function(){
            var id = $(this).attr('id'); //Fetch Vehicle Number
            var parent = $(this).parent();
            parent.slideUp('slow', function() {$(this).remove();});
             
              $("#vehID").val(id);
              $("#DID").val(name); 
             });   
  </script>

在我的代码进行一些修改后,如下所示,它将复选框值作为 [对象对象] 支付如何解决这个问题?

$(document).on('click', 'a', function() {
            var ID = $(this).val('id'); //Fetch Vehicle Number
            var Name=$(this).val('name');
            //alert(id);
            
             
              $("#vehID").val(ID);
              $("#DID").val(Name); 
             });       

PHP代码

<?php
 
// Data could be pulled from a DB 
include('database.php');
// Cleaning up the term
 $term = $_POST['dates'];
 
$query=mysql_query("SELECT * FROM vehiclereg WHERE NOT EXISTS (SELECT * FROM orders WHERE orders.VehID=vehiclereg.VehicleNo AND orders.OrderDate='$term') ");
echo '<table width=100%><tr>';
echo '<th>Vehicle No</th><th>DriverID</th></tr>';
while($row=mysql_fetch_array($query)){
	
		$VehNo=$row['VehicleNo'];
		$DriverID=$row['DriverID'];
		echo '<tr><td><a href=order.php?id=".$VehNo.">'.$VehNo.'</a></td>';
		echo '<td><a href=order.php?name=".$DriverID.">'.$DriverID.'</a></td></tr>';
		
		
}
echo '</table>' ;
?>

问题是您尝试将事件附加到尚不存在的标签上(它在 ajax 调用后呈现)。你可以试试这个:

$(document).on('click', 'a#someId', function() {
    // whatever you need to do...
});

终于找到了我问题的解决方案。这将有助于使用相同类型的Jquery帖子的人。

$(document).on('click', 'tr', function(e) {
           e.preventDefault();
            var ID = $(this).find('a').first().text();//Fetch Vehicle Number
            var Name=$(this).find('a').last().text();//Fetch Driver ID Number
                         
              $("#vehID").val(ID);
              $("#DID").val(Name); 
             });