Javascript Struts2-迭代器内部的选择框-单击选择框外部的链接时如何传递值
我有一个迭代器,可以创建数据行。一列包含指向操作的链接。另一列是选择框。我一生都无法在单击链接时将选择框中选择的值作为参数传递。我尝试了javascript,并在函数内部获得了正确的值,但当单击链接时,它不会作为参数传递。我遗漏了一些东西,但我不知道是什么Javascript Struts2-迭代器内部的选择框-单击选择框外部的链接时如何传递值,javascript,struts2,Javascript,Struts2,我有一个迭代器,可以创建数据行。一列包含指向操作的链接。另一列是选择框。我一生都无法在单击链接时将选择框中选择的值作为参数传递。我尝试了javascript,并在函数内部获得了正确的值,但当单击链接时,它不会作为参数传递。我遗漏了一些东西,但我不知道是什么 <s:iterator var="permit" value="permitsList" status="status" > <tr class="<s:if test="#status.even">ev
<s:iterator var="permit" value="permitsList" status="status" >
<tr class="<s:if test="#status.even">even</s:if><s:else>odd</s:else>">
<td style="text-align: center">
<s:url var="dataEntryURL" action="processPermitSelectedSuccess">
<s:param name="permitInfo.mepdesNumber" value="permitsList[#status.index].mepdesNumber" />
<s:param name="permitInfo.facilityName" value="permitsList[#status.index].permitHistoryList[0].facilityName" />
NOTE: If permitInfo.outfallNumber is set to a value; the parameter and value are tacked onto the URL. Using the following code, there is no parameter or value for permitList.outfallNumber included on the URL.
<s:param name="permitInfo.outfallNumber" value="permitsList[%{#status.index}].selectedOutfall}" />
</s:url>
<s:a href="%{dataEntryURL}">
<s:property value="permitsList[#status.index].mepdesNumber" />
</s:a>
</td>
<td style="text-align: left">
<s:property value="permitsList[#status.index].permitHistoryList[0].facilityName" />
</td>
<td style="text-align: center; white-space: nowrap" >
<s:if test="permitsList[#status.index].outfallsList.size() > 1">
<s:if test="permitsList[#status.index].selectedOutfall == null" >
<s:set var="permitsList[#status.index].selectedOutfall" value="permitsList[#status.index].defaultOutfall" />
</s:if>
<s:select theme="simple"
name="permitsList[#status.index]selectedOutfall"
id="permitsList[#status.index]selectedOutfall"
list="permitsList[#status.index].outfallsList"
listKey="outfallsPK.outfallNumber"
listValue="outfallsPK.outfallNumber"
value="permitsList[#status.index].selectedOutfall"
onchange="javascript: setOutfall(this.value)">
</s:select>
</s:if>
<s:else>
<s:property value="permitsList[#status.index].defaultOutfall" />
</s:else>
</td>
</tr>
</s:iterator>
请帮忙!感谢搜索“permitsList[#status.index]selectedOutfall”,它可能应该是“permitsList[#status.index].selectedOutfall”。对于name属性,删除id属性并让它自行计算,然后使用cssClass属性设置类并使用该类获取值(您可能会发现jQuery在这里很有用).jquery无法识别您的参数,您应该执行以下操作:
document.getElementsByName('
function setOutfall(selectedValue)
{
// Using setTimeout() in this way forces IE to use a separate thread
// for the .focus() function instead of processing at the same time
// as it's own browser behaviour.
alert("inside setOutfall() - selectedValue: " + selectedValue);
setTimeout
(function()
{
try
{
document.getElementsByName('permitsList[#status.index].selectedOutfall').value = selectedValue;
alert("correctValue: " + document.getElementsByName('permitsList[#status.index].selectedOutfall').value);
}
catch(err)
{
txt="There was an error on this page.\n\n";
txt+="Error description: " + err.message + "\n\n";
txt+="Click OK to continue.\n\n";
alert(txt);
}
}
, 50);
}