datatables.net编辑器ajax基于选择其他字段的默认可编辑字段值

时间:2019-04-02 10:03:27

标签: php mysql wordpress datatables-1.10

我正在使用mySQL数据库和PHP在wordpress中使用datatables.net编辑器。

我已经创建了一个数据表表格和表单来添加/编辑共享交易(买或卖)。选择股份时,我需要创建一个ajax调用以获取所选stock_id的股票价格,并将其值默认设置为表单上的价格可编辑字段和/或表单上单独的不可编辑字段。

为了将数据(在这种情况下,股票价格)写入表格上的适当字段,我无法从PHP服务器脚本向客户端获取JSON数据。

我正在从客户端向服务器传递stock_id,服务器脚本正在连接到数据库,以JSON格式为stock_id创建价格数据,如果需要,我可以轻松更改数据格式,我的问题是如何将价格返还给客户端并将其显示在表单上。

    table: "#stock_transactions",
    fields: [ {
            label: "type:",
            name: "dm_transactions.transaction_type",
            type:  "select",
            placeholder: "Select a type"
       }, {
            label: "stock:",
            name: "dm_transactions.stock_id",
            type: "select",
            placeholder: "Select a stock"
        }, {
            label: "quantity:",
            name: "dm_transactions.quantity"
        }, {
            label: "price:",
            name: "dm_transactions.price"
        }, {

.....等等

editor.dependent( 
    'dm_transactions.stock_id', function ( val, data, callback ) {
$.ajax( {
    url: '../../Editor-PHP-1.8.1/controllers/ajax_transactions_stockinfo.php',
    dataType: 'json',
    // pass stock_id value to server php script
    data: { "stock_id": val },
    success: function ( json ) {
        callback( json );
    }
} );
} );

editor.dependent('dm_transactions.stock_id', function ( val, data, callback ){
    return { messages: { 'dm_transactions.stock_id': editor.field('dm_transactions.stock_id','dm_transactions.stock_id').val() }};
},{
event: 'keyup change'
});


ajax_transactions_stockinfo.php
... end of server script

$result = $pdo->query("SELECT id, symbol, name, price FROM 
dm_stocks WHERE id = $stock_id");
    foreach ($result as $row) {
            echo "" . $row['id'] . "";
            echo " : " . $row['symbol'] . "";
            echo " : " . $row['name'] . "";
            echo " : " . $row['price'] . "\n";

        array_push( $stock_arr, array('label'=>$row['symbol'], 'value'=>$row['price']) );
    }
$temp = array('symbol'=>$stock_arr);
$json = array('options'=>$temp);
echo json_encode($json);
?>

选择股票时的JSON响应

the value of stock_id is :3:
Connected successfully

3 : ADM.L : Admiral Group : 2037
{"options":{"symbol":[{"label":"ADM.L","value":"2037"}]}}

我需要 在选择dm_transactions.stock_id值传递给服务器时,完成 服务器脚本查询stock_id以获取dm_stocks.price,已完成 服务器创建包含价格的JSON文件,尽管完成,但精确的JSON格式可能错误 客户端获取JSON数据并默认显示在表单dm-transactions.price字段上,不起作用

非常感谢任何帮助。

感谢科林

0 个答案:

没有答案