簡體   English   中英

迭代器中的Struts2動態列

[英]Struts2 dynamic columns in iterator

我有一個選擇框,

    <table>
    <tr><td>
    <s:select id = "mode" list="#{'0':'SELECT','A':'ABC','B':'XYZ'}" > </s:select>
   </td></tr>
    </table>

基於從此選擇框中的選擇,我需要使列成為動態的:

<table>
<tr>
<td><div align="center">Serial Number</div></td>
<td><div align="center">Employee Number</div></td>
<td id="name"><div align="center">Employee Name</div></td>
</tr>

<s:iterator status="stat" value="empList" id="empList">
 <tr>
    <td><div align="center"><s:property value="%{#stat.count}"/></div></td>
    <td><div align="center"><s:property value="empNum" /></div></td>
    <td><div align="center"><s:select id="nameList%{#stat.index}" list="#{'A':'ABC','B':'XYZ'}" > </s:select></div></td>
</tr>
 </s:iterator>
</table>

我正在使用的腳本如下:

<script>
        var mode = document.getElementById("mode");
        var selMode = mode.options[mode.selectedIndex].value;
        var cnt = document.getElementById("rowCnt").value;
        if(selMode=="A"){

            for(i=0;i<=cnt;i++){
            var name = document.getElementById("name");
            name.style.display = "none";
            var lname = document.getElementById("nameList"+i);
            lname.style.display = "none";

            }
        }
        else{

            for(i=0;i<=cnt;i++){
            var name = document.getElementById("name");
            name.style.display = "block";
            var lname = document.getElementById("nameList"+i);
            lname.style.display = "block";
            }
        }
    </script>

但是使用id =“ nameList%{#stat.index}”,它只能使選擇框動態化,而我想使整個列都動態化。

<td id="nameList%{#stat.index}"><div align="center"><s:select  list="#{'A':'ABC','B':'XYZ'}" > </s:select></div></td>

不起作用。 似乎%{#stat.index}的值無法作為列ID傳遞。

還有其他方法可以使整個列動態化嗎?

沒有Struts標記就不能使用OGNL。 要打印OGNL表達式的值,應使用s:property標記。

<td id="<s:property value='nameList%{#stat.index}'/>"><div align="center"><s:select  list="#{'A':'ABC','B':'XYZ'}" > </s:select></div></td>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM