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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii2:如何在一个TR内添加多个TD行?相关的知识,希望对你有一定的参考价值。

我需要实现的是在一个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>

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

答案

解决问题的一种方法如下

    $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。

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

另一答案

假设您需要一个带有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作为指南

以上是关于Yii2:如何在一个TR内添加多个TD行?的主要内容,如果未能解决你的问题,请参考以下文章

html 中如何在table标签中添加一个编号列呢?就是第一行编号是1,第二行编号是2,以此类推

如何在 TR 和 TD 中添加属性?

如何从另一个子 td 元素检查父 tr 元素内的 td 元素的值

如何在表格行上添加边距

如何使用 jQuery 在按钮单击时添加额外的 html 表格行?

使用jquery将行添加到表中[重复]