yii2中文本框中gridview列的总和

时间:2016-08-31 15:29:25

标签: javascript yii2

我想在文本框中显示gridview列的总和。页面加载时,总和应传递给文本框。 我在index.php文件中编写了以下javascript代码。但得不到总和。 javascript代码可能不正确。请让我知道怎么做 -

index.php -

  <asp:LinkButton ID="GoButton" runat="server"  Text="<div></div>" CssClass="Go" OnClick="GoButton_Click" OnClientClick="return disablebutton(this);" />


<script>
    function disablebutton(btn) {
        $(btn).attr("disabled", "disabled");
        return true; }
</script>

目前的输出 - enter image description here

1 个答案:

答案 0 :(得分:2)

可以将showFooter用于gridView

您可以使用dataProvider计算值

        $yourTotal =0;
        $numRow = 0;
        foreach ($dataProvider->models as $key => $value) {
            $yourTotal += $value['your_attribute'];
            $numRow++;
        }

然后在GridView中你可以设置showFooter =&gt; TRUE,在您需要的列中,您可以添加页脚(最终是footerOptions)

        echo GridView::widget([
        'dataProvider' => $dataProvider,
        ......
        'showFooter'=>TRUE,
        ..... 
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],
            ......
            [   'attribute' => 'your_attribute',
                'label' => 'Your Lable',
                'footer' => $yourTotal,
                'footerOptions' => ['style' => 'text-align:right;'],        
            ],            
            ........

您可以使用input

为您添加文字
<?= Html::textInput('your_name', $yourTotal , options[]); ?>

或者你可以添加一个简单的div

<div id='my_id'> <?=  $yourTotal ?> </div>