簡體   English   中英

Struts2迭代器標記onchange問​​題

[英]Struts2 iterator tag onchange issue

我正在使用Struts 2.1.6。 嘗試使用<s:iterator>標記內的onchange事件設置屬性值時遇到問題。

<s:iterator value="myList" status="rowStatus">      
 <tr>
    <td><s:textfield name="myList[%{#rowStatus.index}].abc" value="%{model[#rowStatus.index].abc}"  onchange="myList[%{#rowStatus.index}].changeFlag = "true"/></td>
    <td><s:textfield name="myList[%{#rowStatus.index}].changeFlag" value="%{model[#rowStatus.index].changeFlag}" /></td>
 </tr>
</s:iterator>

List myList具有多個對象,如果任何特定行的abc屬性的值發生更改,那么我嘗試將changeFlag的值設置為true。 但是,它不起作用。

怎么做?

s:textfield標記中的onchange屬性為

在呈現的html元素上設置html onchange屬性

並且呈現的html元素是<input type="text"> 對於此元素, onchange屬性定義一個javascript函數來處理事件。 因此,您可以創建一個函數doChange() 但在您需要添加id屬性之前

HTML id屬性

這允許通過id在文檔中定位元素。

<s:iterator value="myList" status="rowStatus">      
 <tr>
    <td><s:textfield id="myList[%{#rowStatus.index}].abc" name="myList[%{#rowStatus.index}].abc" value="%{model[#rowStatus.index].abc}"  onchange="doChange('myList[%{#rowStatus.index}].changeFlag')"/></td>
    <td><s:textfield id="myList[%{#rowStatus.index}].changeFlag" name="myList[%{#rowStatus.index}].changeFlag" value="%{model[#rowStatus.index].changeFlag}" /></td>
</tr>
</s:iterator>
<script>
function doChange(dest) {
 document.getElementById(dest).value = 'true';
} 
</script>  

PS:您使用的Struts版本太舊(2.1.6)。 您應該知道如何獲取更新的版本。 請參閱如何了解Struts 2的版本

暫無
暫無

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

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