Javascript:从复选框获取对象
Javascript: get object from checkbox
假设有一个名为"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"对象。
我这样做的目的是,如果我不能获得整个"Device"对象,我需要通过复选框逐个获得每个属性,并将它们组装为Javascript中的"Device"。例如:
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);
}
就我个人而言,我认为第二种方法不是一个好主意。因此,希望这里有人能给出更好的建议或任何想法来解决复选框中的pass-by-object。非常感谢!
您不能像以前那样通过Javascript传递Java Objects
进行解释。您需要将对象转换为Java和JS这两种语言都能理解的符号。我使用的一种方法是将我的java对象转换为JSON,并在客户端使用javascript获取它。
相关文章:
- 从ajax请求中获取javascript对象
- 通过字符串获取JSON对象
- 如何在angular中获取json对象的名称
- 如何使用angular获取json对象的名称
- 获取一个对象´s属性的名称使用字符串
- 正在从嵌套值获取父对象
- 获取js对象键的值
- 获取原型对象的名称
- 如何从给定的代码中获取JSON对象
- 了解如何在数组中获取特定对象
- 获取整数对象属性名称的最小值和最大值
- 从Angular Scope中的Array中获取所有对象
- 在Javascript函数中获取Java对象属性
- 如何在JQUERY中从HTML文档中获取XML对象
- Backbone集合:如何从API中获取特定对象以放置在模型中
- 基于单个属性从数组中获取唯一对象
- 获取JSON对象中数组的长度
- 尝试获取每个对象的总和
- 正在尝试获取非对象php-DOM的属性
- 如何从HTML元素中获取Javascript对象