如何在此代码库中水平显示复选框

时间:2013-02-11 15:24:15

标签: php html

我们在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>

2 个答案:

答案 0 :(得分:1)

简单的方法是表格。

更好的方法是使用display:table及其阻止。

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

答案 1 :(得分:1)

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

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

,那会是多么美妙的事情