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