使用Struts2 Jquery插件,请看一下这段代码。
<s:iterator status="stat" value="primeDisplayLocationBeans">
<tr>
<td class="last center">
<sj:a openDialog="myremotedialog" href="opendemographicdetails?locationId=%{id}">
Demographic
</sj:a>
<sj:dialog id="myremotedialog" autoOpen="false"
title="Demographic Details" width="800"/>
</td>
</tr>
</s:iterator>
现在代码发生了什么,创建了一个动态链接列表,如果我点击这些链接,它将在远程对话框中打开相应的内容。但问题是第一行链接不起作用,但所有其他链接都在工作正确并打开相应的对话框。对于第一个链接,甚至对话框都没有打开。 它在Java脚本控制台中显示的错误是:
无法设置未定义的属性'href'
答案 0 :(得分:1)
您正在为多个元素is against (X)HTML specs分配相同的ID,并且不允许您稍后唯一地引用某个元素(其中多个元素具有相同的ID)。
使用以下内容参数化您的ID:
<s:iterator status="stat" value="primeDisplayLocationBeans">
<tr>
<td class="last center">
<sj:a openDialog="myremotedialog_%{#stat.index}"
href="opendemographicdetails?locationId=%{id}">Demographic</sj:a>
<sj:dialog id="myremotedialog_%{#stat.index}"
autoOpen="false" title="Demographic Details" width="800"/>
</td>
</tr>
</s:iterator>