2012-02-22 55 views
0

它再次!我正在動態構建字段集,因爲它們中的#可能會根據數據庫更改。容納在頁面上的rel房地產。我想改變我現有的fieldSets的設置,使其具有固定的寬度/高度,並且有兩個複選框而不是一個,以查看它將如何佈置在頁面上。感謝:如何建立固定寬度/高度和2列複選框的fieldSets

BTW IM在造型那不是很好,爲什麼我問的問題:)

的jsp:

<c:forEach items="${FieldMap}" var="detFieldEntry">  
    <fieldset class="det">   
    <legend>${FieldEntry.key}</legend> 
    <c:forEach items="${FieldEntry.value}" var="detBean">  
     <input type="checkbox" name="fieldNames" value="${Bean.fieldName}" 
     <c:if test="${form.fieldNameMap[Bean.fieldName]}">checked="checked" </c:if>>${Bean.displayName}</input>   
     </br>  
    </c:forEach> 
    </fieldset> 
</c:forEach> 

CSS:

table.det 
{ 
} 

table.det td 
{ border: none; } 

fieldset.det 
{  
display:block; 
float:left; 

font-family:Verdana, Arial, Helvetica, sans-serif; 
font-size:12px; 
margin-top:20px; 
margin-left:20px; 
border:2px solid #CCCCCC; 

} 
fieldset.det legend 
{ 
    padding:2px 5px; 
    border:2px solid #CCCCCC; 
    font-weight: bold; 
} 

回答

1

您正在尋找這樣的事情?看看我的fiddle,讓我知道。

也許這樣嗎?

print <fieldset> 
print <legend> 
columns = 2 
offset = 0 
class = "left" 
count = dbResult.length() // Say 9 
rows = count/columns // you want to round up to use the next whole int, so 4.5 should be 5. 
for i=0, i < columns, i++ { 
    print <div class="<%=class%>" 
    for k=0, k < rows, k++ { 
     print <span><input>k+offset<label></span> 
    } 
    offset = rows 
    print </div> 
    class = "right" 
} 
print </fieldset> 
+0

是的先生......那正是我在找的 – 2012-02-22 16:28:05

+0

但是我怎樣才能在我的循環中實現這個? – 2012-02-22 16:31:49

+0

您將爲每一邊設置固定數量的行並將其用作迭代器(i)。所以當你得到你的表單字段數時,我會做一個計數,說它是9.然後你做一個快速的分割問題,因此每一邊將包含5個字段(左邊5和右邊4)。迭代左邊的DIV,然後關閉它,開始右邊的DIV和遍歷其餘部分的迭代器。 – thepriebe 2012-02-22 16:36:15