2013-02-11 24 views
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> 
+3

從'printCheckbox()'產生的HTML是什麼? – BenM 2013-02-11 15:25:05

+0

你應該在CSS中做到這一點。 – jeroen 2013-02-11 15:28:08

+0

我們需要知道'printCheckbox()'的返回值。作爲一個盲注,您可以爲FORM元素設置'display:inline'。無論如何,你的垂直顯示是由'block'元素引起的。 – 2013-02-11 15:29:25

回答

1

簡單的辦法就是表。

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

最好的方法可能是將每個複選框+標籤包裝在一個包裝元素中,並給該元素20%的寬度。然後,每個包裝元素可以有display:inline-block;display:block; float:left;

+0

Humm,不能在此代碼庫中使用表格,但謝謝您的建議。 – user1176783 2013-02-19 17:14:04

1

使用Firebug,tr { display:inline }允許複選框流動,就好像它們只是一行中的輸入元素一樣。

什麼是夢幻般的,是如果你的函數會輸出<input><input><input>,而不是一個嵌套<table>