Yii2:如何在一个TR内添加多个TD行?

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

我需要实现的是在一个td中添加多个tr行。 F.e:

<tr>
<td="0"> row1 </td>
<td="1"> row2 </td>
<td="2"> row3 </td>
</tr>

我怎样才能实现它?我是这样想的:

 $td = Html::tag('td data-col-seq', [
    '0' => 'test' 
    '1' => 'test2'
 ]);

 return Html::tag('tr', $td);

但我得到Array to string conversion错误,除此之外,我没有得到values。我得到的只是<td data-col-seq 0="test"> NO VALUE HERE </td>

我希望你能理解这个问题。感谢您的任何帮助!

yii2
2个回答
1
投票

解决问题的一种方法如下

    $cols = '';
    $row = '';
    $data = [0, 1, 2];  //just a sample here

    // create all td tags at first based on your sample  
    foreach ($data as $value) {
        $cols .= Html::tag('td', 'rows' . $value, [
            'value' => $value,
        ]);
    }

    $row .= Html::tag('tr', $cols);  //then create a tr tag to include all td tags
    var_dump($row);

Html::tag函数的第一个参数是标记名称,第二个是您刚刚创建的标记内容,最后一个是附加到标记的attrs。

您遇到该错误的原因是第二个参数需要是字符串类型,而您传递的数组应该是最后一个参数。愿你帮忙。


0
投票

假设您需要一个带有row1 conttnet和data-col-seq作为属性的td标记,您应该使用它

  $options = ['data-col-seq' => 'your-values'];
  echo Html::tag('a', 'row1', $options);

对于几个值..使用循环构建适当的代码请参阅http://www.yiiframework.com/doc-2.0/yii-helpers-html.html作为参考,http://www.yiiframework.com/doc-2.0/guide-helper-html.html作为指南

© www.soinside.com 2019 - 2024. All rights reserved.