Предположим, что существует класс модели под названием «Устройство», который содержит много соответствующих атрибутов, есть ли способ получить объект «Устройство» в блоке с помощью Javascript?Javascript: get object from checkbox
Если бы я не вдавался ясно, вот пример:
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);
}
Я попытался вызвать общее [J]. значение, которое вернуло мне только строку функции toString() вместо объекта «Устройство».
Целью этого является то, что, если я не могу получить весь объект «Устройство», мне нужно получить каждый атрибут один за другим через флажок и собрать их как объект «Устройство» в 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);
}
Лично я не думаю, что второй подход является хорошей идеей. Следовательно, надеюсь, что кто-то здесь может дать лучшие предложения или любую идею решить передать объект в флажке. Большое спасибо!
Большое спасибо, Джефферсон. Мне удалось закончить использование JSON, я узнал, что очень полезно общаться между интерфейсом JSP и внутренним сервлетом. Кстати, я использовал JSON2.js по умолчанию для интерфейсных JSP и Gson для внутреннего сервлета Java. Они отлично работают! – ShadowScorpion