0

在 Cakephp v2.3 App 中,有两个模型:

采购模式:它包含以下主要字段:id、invoice_date 和 Gross_amount(根据 Supplier.tax_rate 计算)。

class Purchase extends AppModel {

    public $displayField = 'id';
    public $belongsTo = 'Supplier';
}

供应商模式:它包含 id、name 和 tax_rate

class Supplier extends AppModel {
    public $displayField = 'name';
    public $hasMany = 'Purchase';
}

这是我的 PurchasesController 添加视图的外观: 在此处输入图像描述

现在,我想得到Supplier.tax_rate当前选定的供应商显示app/View/Purchase/add.ctp为标签或文本输入。

知道怎么做吗?

4

2 回答 2

0

使用 Jquery 查找选择框更改时的税率。查找 JsHelper,http: //book.cakephp.org/2.0/en/core-libraries/helpers/js.html了解更多详情

这是来自我的 1.3 应用程序之一的一些示例视图代码,可能会对您有所帮助。当然,你必须有 helper、jquery、控制器代码和其他视图才能加载。

//helper in view
//observe selectbox for selection, if change, update question.
$js->get('#EntitiesUserPrimarycontactId')->event('change', $js->request(array('controller'=>'users','action'=>'update_previewcontact'),array('update'=>'#step4_results','dataExpression'=>true,
'before' => "$('#step4_results').fadeOut('fast');",
'complete' => "$('#step4_results').fadeIn('slow');,
'data'=>$js->serializeForm(array('isForm' => true, 'inline' => true)) )));
于 2012-10-24T13:02:07.963 回答
0

我想到了。我最终做的是将所有供应商税率数据作为JSON,将其输出到视图中,然后使用客户端 javascript 选择相关代码。

PurchasesController 调用自定义模型方法,该方法启动 SQL 查询以获取所有供应商税率数据。

$supplier_tax_rate = $this->Purchase->Supplier->getTaxRate();
$this->set('supplier_tax_rate', json_encode($supplier_tax_rate));

的,在客户端。我使用 Javascript 来做我想做的事,这里supplier_tax_rates是存储 JSON 税率数据的变量,getTaxRate是一个变量函数,它根据供应商的倒闭从 JSON 返回税率id

$(function() {
    var taxRates = $.parseJSON(supplier_tax_rates);

    var getTaxRate = function(id) {
        for (var i in taxRates) {
            if (taxRates[i].id == id) {
                return taxRates[i].tax_percentage_charged;
            }
        }
    };
}); 

这对我来说效果很好,希望它可以帮助其他想要从蛋糕中的数据库中获取一些数据的人,基于下拉列表的值。

于 2012-10-29T05:11:48.037 回答