假设有一个名为“Device”的模型类,其中包含许多相关属性,有没有办法通过使用 Javascript 来获取复选框中的“Device”对象?
如果我没有详细说明,这里是示例:
JSP 页面:
<c:forEach var="device" items="${row.deviceList}">
<input type="checkbox" name="deviceDetails" value="${device}">
<c:out value="${device.equipNo}" />
</c:forEach>
Javascript:
var total = document.getElementsByName("deviceDetails");
// run through all element of checkedbox named deviceDetails
for(j=0; j<total.length; j++)
{
<!-- get instance Device object ? -->
alert(total[j].value);
}
我试图调用 total[j].value ,它只返回了 toString() 函数的字符串,而不是“Device”对象。
我这样做的目的是因为如果我无法获取整个“设备”对象,我需要通过复选框将每个属性一一获取并在Javascript中将它们组装为“设备”对象。如:
JSP 页面:
<c:forEach var="device" items="${row.deviceList}">
<input type="checkbox" name="id" value="${device.stnID}">
<c:out value="${device.stnID}" />
<input type="checkbox" name="stnName" value="${device.stnName}">
<c:out value="${device.stnName}" />
<input type="checkbox" name="equipNo" value="${device.equipNo}">
<c:out value="${device.equipNo}" />
</c:forEach>
Javascript:
var allID = document.getElementsByName("id");
var allName = document.getElementsByName("stnName");
var allNo = document.getElementsByName("equipNo");
var deviceList = new Array();
var device = new Object();
for(i=0; i<allID.length; i++)
{
device.id = allID[i].value;
device.stnName = allName[i].value;
device.equipNo = allNo[i].value;
deviceList.push(device);
}
就个人而言,我认为第二种方法不是一个好主意。因此,希望这里有人可以提供更好的建议或任何想法来解决复选框中的对象传递问题。非常感谢!