在使用struts2的时候,经常在页面中使用<s:iterator value="list"></s:iterator>
这时候如果需要用jQuery对这标签之间的其他标签进行操作的话,就会出现因为因为动态的id而找不到目标标签的现象,通常的做法是$("#"+id),但是这样的做法大多数情况下不可行,试了几次,都不行,最终还是改用js自身的方法来操作,具体的方法是:
<s:iterator value="peList">
<tr class="s1" title="点击修改信息" style="height: 20px;" align="center" οnmοuseοver="changeColor(this);" οnmοuseοut="backColor(this);">
<td width="12%"><input type="checkbox" name=personIDs" value="${personID }"/></td>
<td width="30%" id="${personID }" οnclick="toUpdate(this.id);">
<s:property value="userName"/>
</td>
<td width="30%" id="${personID }">
<s:property value="personName"/>
</td>
<td width="28%">
<input type="button" id="${personID }" style="color: red;background-color: yellow;" οnclick="toPowerSet(this,this.id);" value="${powerSet }"/>
</td></tr>
</s:iterator>
如果要修改第四个<td>的内容,做法如下:将自身对象和id传给js方法进行操作,这比jQuery选择器来的可靠.
function toPowerSet(a,id){ powerdao.dwrPowerSet(id,function(result){ if(result != "empyt"){ if(result == "admin"){ a.value = "管理员"; } if(result == "person"){ a.value = "操作员"; } } }); }