我们在php中有一个autogen表单,我们吐出复选框的方式显示在下面的代码中:
case FIELD_CHECK_BOX:
$fieldHtml = printCheckbox($mode, $field->getId().'[]', $field->getOptions(), $field->getValue(), true, '  ', $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>
答案 0 :(得分:1)
简单的方法是表格。
更好的方法是使用display:table
及其阻止。
最好的方法可能是将每个复选框+标签包装在包装元素中,并为该元素提供20%的宽度。然后,每个包装器元素都可以有display:inline-block;
或display:block; float:left;
答案 1 :(得分:1)
使用Firebug,tr { display:inline }
允许复选框像一行中的输入元素一样流动。
如果您的函数输出<input><input><input>
而不是嵌套<table>