使用javascript读取odoo16记录信息

问题描述 投票:0回答:1

我是 odoo 和 web 的新手,我有这个问题 我有一个模板,提供了一个下拉列表,其中包含可供选择的计划,我需要在同一模板中查看有关所选计划的一些信息,我认为我需要使用 java 脚本 这是我模板的一部分

<template id="initiative_dropdown_template" name="Initiative Dropdown">
        <t t-call="website.layout">
            <div class="container mt-4">

                <form action="/initiative/proposal" method="post"
                      id="request-form"
                      class="m-5 px-5"
                      role="form">

                    <select class="form-control" id="initiative_dropdown" name="initiative_id">
                        <option value="">Select an Initiative</option>
                        <t t-foreach="initiatives" t-as="initiative">
                            <option t-att-value="initiative.id">
                                <t t-esc="initiative.name"/>
                            </option>
                        </t>
                    </select>
                      <!-- Display the selected option value -->
                <p id="selected_initiative_id">
                    Selected Initiative ID: <span id="initiative_id_placeholder"/>
                </p>

我有这个js方法

// Add the script below this comment
    $(document).ready(function () {
        $('#initiative_dropdown').on('change', function () {
            var selectedInitiativeId = $(this).val();
            console.log('Selected Initiative ID:', selectedInitiativeId);
            $('#initiative_id_placeholder').text(selectedInitiativeId);

        //
        // Perform an RPC call to fetch initiative details
        console.log('self:', self);
        const rpc = require('web.rpc')
        console.log('Before RPC Call');
        rpc.query({

            model: 'initiative.initiative',
            method: 'search_read',
            args: [['id', '=', selectedInitiativeId]]
        }).then(data => {
        console.log('RPC Call Successful. Initiative Details:', data);
                
            })

         console.log('RPC Call Successful. Initiative Details:');

        });
    });

console.log('选定的计划 ID:', selectedInitiativeId);正在查看正确选择的 ID,但 rpc 查询不起作用 知道我应该如何实现这个目标吗?

我只尝试使用rpc调用,但我不知道是否有其他方法可以在java脚本中通过id获取记录

javascript rpc qweb odoo-16
1个回答
0
投票
您应该将所选的 if 解析为整数:

rpc.query({ model: 'initiative.initiative', method: 'search_read', args: [['id', '=', parseInt(selectedInitiativeId)]] })
    
© www.soinside.com 2019 - 2024. All rights reserved.