如何在内联表单集中选择选择字段时填充相关字段

How to populate a related field on selection of a choice field in inline formset

我正在处理内联表单集,其中:

一个。用户将首先填写 header 数据

b。接下来,在内联部分中,用户选择一个选择字段(产品名称),我希望此操作触发使用相关 table(FK 关系)中的值填充其他 field/s。相关 field/s 将在相关字段中包含定价项目等信息。

我希望这基本上可以促进用户接受(即无需单击其他按钮)。

我尝试了一些来自网络的示例(例如使用查询填充价格字段),但我无法从下拉列表中捕获用户对产品的选择。尝试过 JQuery 但我真的无法绕过。

我该如何实现?

上面的问题是以前发的。

从那时起,我取得了一些进展,超出了当时的情况。

我目前的困境如下所述(希望有一些解决方案):

1. 我现在可以动态添加 "class and "id" 到每个表单集元素,以便我在操作用户输入时访问这些元素。

2. 我正在使用 .on('focusout', ...) 来捕获用户输入(包括 选择 )。

3。我正在这样计算每行的项目数量:

    matl_price=0   // Price field id: "id_tIndx14"
    matl_qnty = 0  // Quant field id: "id_tIndx16"
    item_amount=0  // Amount field id: "id_tIndx17"

    $(document).on("focusout", "#id_tIndx14", function() {
        matl_price = $('#id_tIndx14 input').val();
    });

    // THIS IS CALCULATES THE ITEM AMOUNT::
    $(document).on("focusout", "#id_tIndx16", function() {
        matl_qnty = $('#id_tIndx16 input').val();
    // Next calculate the amount (=Price * Quant)::

    item_amount = matl_price * matl_qnty

    // Appending the Amount field with the resultant "item_amount"
    $("#id_tIndx17").append(item_amount)

    });

但是,table 字段中的附加值未更新 "Amount",如下所示:

可以看出,金额 (1600) 位于“金额”字段之外。

4. 我将 "Amount" 字段保留为 "readonly"。后来由于金额值落在输入字段之外的问题,我已经删除了该属性。但这对最终结果没有影响(金额值仍在该字段之外)。

5. 我正在从外部 *.js 文件(在应用程序路径中)访问 jQuery 代码。

我可以请人帮忙吗?

我想了很久。遗憾的是,我在网上找不到这个解决方案(甚至在 jquery site 上也找不到)。

经过大量的排列和组合,我不知何故找到了金子!!我以这种方式填充 input 字段:

$('#id_tIndx17 input').val(item_amount);

结果: