[英]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.