这是一个很难解释的问题,请耐心等待…
我需要输出一个基于以下数组的表单向导:
Array
(
[about_you] => Array
(
[qb-name] => about_you
[qb-label] => About You
[qb-type] => ttl
)
[your_name] => Array
(
[qb-name] => your_name
[qb-label] => What is your name?
[required] => required
[qb-type] => slt
)
[website] => Array
(
[qb-name] => website
[qb-label] => What is your current website?
[required] =>
[qb-type] => slt
)
[your_requirements] => Array
(
[qb-name] => your_requirements
[qb-label] => Your Requirements
[qb-type] => ttl
)
[hosting] => Array
(
[qb-name] => age
[qb-label] => How old are you?
[sq-option] => Array
(
[0] => 0-20
[1] => 21-40
[2] => 40+
)
[qb-type] => sel
)
[likes] => Array
(
[qb-name] => likes
[qb-label] => What do you like?
[required] => required
[qb-type] => mlt
)
)
qb-type => ttl
字段是一个标题字段,也是表单向导中的一个新页面,每个标题的输出如下:
<div id="wizard">
<!-- foreach.... -->
<h1> [qb-label] </h1>
<div class="content"></div>
<!-- /foreach -->
</div>
所以上述阵列的输出将是…
<div id="wizard">
<h1>About You</h1>
<div class="content"></div>
<h1>Your Requirements</h1>
<div class="content"></div>
</div>
我的问题是如何在.content
区域的标题字段下方显示任何内容,例如:
<div id="wizard">
<h1>About You</h1>
<div class="content">
<p>
<label>What is your name?</label>
<input name="your_name" />
</p>
<p>
<label>What is your current website?</label>
<input name="your_name" />
</p>
</div>
<h1>Your Requirements</h1>
<div class="content">
How old are you?
What do you like?
</div>
</div>
我已经设法把标题写出来了,但我不确定如何在每个部分添加子字段:
<div id="wizard">
<?php foreach($form as $field=>$option): ?>
<?php if($option['qb-type'] == 'ttl'): ?>
<h1><?= $option['qb-label'] ?></h1>
<div>The content goes here</div>
<?php endif; ?>
<?php endforeach; ?>
</div>
我希望我已经很好地解释了一切,但请随时询问你是否需要更好的解释。
编辑标题正下方的任何数据,直到您到达下一个标题,都将被视为ttl部分的一部分
试试这个
<?php $first = true; ?>
<?php foreach( $form as $field=>$options ) { ?>
<?php if( $options[ "qb-type" ] == "ttl" ) { ?>
<?php if( !$first ) echo "</div>";?>
<?php $first = false; ?>
<h1><?= $options['qb-label'] ?></h1><div>
<?php } else { ?>
<p>
<label><?= $options["qb-label"]?></label>
<input type="text" name="<?= $options[ "qb-name"]?>">
</p>
<?php }?>
<?php } ?>
</div>