【问题标题】:How to update content (show/hide) with renderPartial Yii如何使用 renderPartial Yii 更新内容(显示/隐藏)
【发布时间】:2014-01-16 16:52:11
【问题描述】:

如何更新当前选中的组合框“div”块中的内容?

我创建了一个这样的动作:

public function actionDetail()
{
    $sql = "
    SELECT
        tbl_quotation_order.id_quo
        , tbl_quotation_order.no_quo
        , tbl_produk.nama_produk
        , tbl_detail_quo.qty
        , tbl_detail_quo.harga_indo_after
        , tbl_detail_quo.harga_dolar_after
        , tbl_pemasok.nama_pemasok
    FROM
        tbl_quotation_order
        INNER JOIN tbl_detail_quo 
            ON (tbl_quotation_order.id_detil_quo = tbl_detail_quo.id_quo_fk)
        INNER JOIN tbl_produk 
            ON (tbl_detail_quo.id_produk = tbl_produk.id_produk)
        INNER JOIN tbl_pemasok 
            ON (tbl_produk.id_pemasok = tbl_pemasok.id_pemasok)
    WHERE tbl_quotation_order.id_quo='20'";

    $dataProvider=new CSqlDataProvider($sql);
    $this->render('_detail',array(
        'dataProvider'=>$dataProvider,
    ));
}

访问时会导致显示:

我想显示一个包含以下数据的数据表:

<div id="detailQuo" style="display:none;">

</div>

我的 jQuery :

$(document).ready(function(){   
    $("#SelesOrder_id_quo").change(function() {
        //Call controller and show the table
        $("#detailQuo").show();
    });
}); 

我需要一个解决方案来更新我的 div 内的一个不同的视图点击事件。

谢谢

【问题讨论】:

  • 问题不清楚,你想用ajax更新组合框吗?或者您是在问如何生成组合框?
  • @themosquitokiller 不...我想show id 为detailQuo 的div。当我更改组合框中的选择时,我想将表格调到 div 中。

标签: javascript php jquery yii


【解决方案1】:

HTML -

<div id="detailQuo" style="display:none;">
  <?php $this->renderPartial('//<controllername>/_detail',array('pageload'=>true)); ?>
</div>

控制器功能->

public function actionDetail()
{
    $sql = "
    SELECT
        tbl_quotation_order.id_quo
        , tbl_quotation_order.no_quo
        , tbl_produk.nama_produk
        , tbl_detail_quo.qty
        , tbl_detail_quo.harga_indo_after
        , tbl_detail_quo.harga_dolar_after
        , tbl_pemasok.nama_pemasok
    FROM
        tbl_quotation_order
        INNER JOIN tbl_detail_quo 
            ON (tbl_quotation_order.id_detil_quo = tbl_detail_quo.id_quo_fk)
        INNER JOIN tbl_produk 
            ON (tbl_detail_quo.id_produk = tbl_produk.id_produk)
        INNER JOIN tbl_pemasok 
            ON (tbl_produk.id_pemasok = tbl_pemasok.id_pemasok)
    WHERE tbl_quotation_order.id_quo='20'";

    $dataProvider=new CSqlDataProvider($sql);
    $this->renderPartial('_detail',array(
        'dataProvider'=>$dataProvider,
    ));
}

_detail.php
检测$pageload=true 上的页面加载并且不加载任何内容 - 同时在 else 案例中通过 ajax 加载您需要的内容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 2016-03-29
    • 2020-04-14
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多