0

我们在 php 中有一个 autogen 表单,我们吐出复选框的方式如下面的代码所示:

case FIELD_CHECK_BOX:
                $fieldHtml = printCheckbox($mode, $field->getId().'[]', $field->getOptions(), $field->getValue(), true, ' &nbsp', $isReq, array( "class"=>$isReq,$jsFunctionCalls));
            break;

问题是,例如,如果您有五个复选框,它们会垂直打印,但我有一个客户端有大量复选框并希望它们水平打印。

我如何编写代码以将复选框彼此相邻吐出,直到达到五个框,然后中断到下一行。

HTML 输出:

<tr class="tr-11-16 tr-11" id="field-16"><td width='30%' valign='top' align='left' class='labeltext'>Requestor Email :<span style='text-decoration:none' class='required' id='lfspan'> * </span></td><td width='70%' align='left'><table border='0' style='table-layout:auto'><tr><td><div id='td-16[]'><table cellpadding='0' cellspacing='0'><tr><td class="valuetext fld-3-16-required" ><input type="checkbox" name="16[]" id="16[]" value="Home"class="valuetext fld-3-16-required" 0="">Home</td></tr><tr><td class="valuetext fld-3-16-required" ><input type="checkbox" name="16[]" id="16[]" value="Play"class="valuetext fld-3-16-required" 0="">Play</td></tr><tr><td class="valuetext fld-3-16-required" ><input type="checkbox" name="16[]" id="16[]" value="Theatre"class="valuetext fld-3-16-required" 0="">Theatre</td></tr><tr><td class="valuetext fld-3-16-required" ><input type="checkbox" name="16[]" id="16[]" value="Work"class="valuetext fld-3-16-required" 0="">Work</td></tr></table></div></td><td valign='top'></td></tr></table></td></tr>
4

2 回答 2

1

简单的方法是桌子。

更好的方法是使用display:table和它的块。

最好的方法可能是将每个复选框 + 标签包装在一个包装元素中,并为该元素提供 20% 的宽度。然后这些包装器元素中的每一个都可以具有display:inline-block;display:block; float:left;

于 2013-02-11T15:28:00.450 回答
1

使用 Firebug,tr { display:inline }允许复选框像一行中的输入元素一样流动。

很棒的是,如果您的函数将输出<input><input><input>,而不是嵌套<table>

于 2013-02-11T17:08:40.843 回答