php - 使用 onclick 方法获取 $this 行并填充 Web 表单

标签 php javascript jquery

我正在尝试从表行中选择数据并在 Web 表单中使用该数据。我已经能够将记录 ID 作为行的数据属性传递。我被困在必须使用 $.on() 函数的部分,以及我在 PHP Webform 中放置什么与此 Javascript 代码关联的内容?

谢谢

这是 JavaScript

$(document).on('click', 'tr', function() {

        //Get the ID from the row clicked
        var id = $(this).data('recordId'); 

        //short-hand
        $('#section2').load('data_entry_form.php?id='+id);

});

这是 Web 表单的 PHP(请参阅前几行,我尝试“捕获”用户选择的记录 ID。

<html>
<form>
<?php
   $_GET['id'];

   echo $id; //should echo the id being sent across.
?>
<input type="date"></input><br>
<input list="auditors" placeholder="Auditor" />
<datalist id="auditors">
    <option value="Foo" />
</datalist><br>
<input list="city" placeholder="City" />
<datalist id="city">    
    <option value="Bar" />
</datalist><br>
<input type="submit" name="submitbutton" id="submitbutton" value="Submit" />
</form>
</html>

这是生成我从中选择行的原始表的 PHP。在这里,我传递了一个数据属性,即“fee_source_id”(与表中的第一列相同)。

<?php
require_once 'config.php';

$dbh = new PDO($dsn, $dbuser, $dbpass);

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

$result = $dbh->query("
    SELECT a_aif.aif_id,
      a_aif.fee_source_id,
      a_aif.company_name_per_sedar,
      a_aif.document_filing_date,
      IF (a_aif_remaining.aif_id IS NULL, 0, 1) `match`
    FROM  a_aif
      LEFT JOIN a_aif_remaining
        ON a_aif_remaining.aif_id = a_aif.aif_id
    WHERE aif_id = {$id}
    ORDER BY aif_id DESC");

$result->setFetchMode(PDO::FETCH_ASSOC);

if ( !empty($result) ) : endif;

?>

<table = "all_aifs">
<tr>
    <th><b>Document ID</b></th>
    <th><b>Pubco Name</b></th>
    <th><b>Filing Date</b></th>
    <th><b>PDF</b></th>
</tr>
<?php foreach($result as $index => $row) : ?>
<tr data-recordId="<?=$row[fee_source_id];?>"
    class="<?=$row["match"] ? "match" : "";?>">
    <td><?php echo $row[fee_source_id]; ?></td>
    <td><?php echo $row[company_name_per_sedar]; ?></td>
    <td><?php echo $row[document_filing_date]; ?></td>
    <td></td>
</tr>
<? endforeach;?>
</table>

enter image description here

最佳答案

'$row['aif_id']' 设置在哪里?在上面的代码中,您有 '$id' 和 $row['aif_id'] 但 $row['aif_id'] 设置在哪里? $row 应该代表用 $id 加载的数据吗?

$('document').ready(function(){
    $('table').find('tr').on({
     click: (function(e){
        var id = $(this).data('recordId');
        $('#section2').load('data_entry_form.php?id='+id);

     })

    });

});


<?php
   $id = $_GET['id'];

   echo $id; //should echo the id being sent across.
?>

关于php - 使用 onclick 方法获取 $this 行并填充 Web 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14162270/

相关文章:

php - 如何允许 SELECT 查询并阻止其他查询?

javascript - PHP - 提交缺少名称属性的 HTML 表单

php - 在 MySQL 中选择按小时分组的日期/时间分组

javascript - jQuery:通过 css-selector 注册的事件的优先级?

javascript - 单击时从内存中删除功能

php - MySQL - 唯一行的平均值

javascript - 使用 JavaScript 写入 CRM 页脚

javascript - 删除 'complicated' 重复项

javascript - 使用 jQuery 居中和动态调整图像大小时出现问题

javascript - 使用鼠标按下和移动事件绘制直线的问题