使用 Javascript 访问 ArrayList 的特定成员

Accessing specific member of an ArrayList using Javascript

本文关键字:成员 ArrayList Javascript 访问 使用      更新时间:2023-09-26

所以,我在jsp页面中有一个表,它显示了通过转发到页面的ArrayList从数据库中获取的数据。表的每一行都有一个与之对应的单选按钮。现在,我想访问行中的元素(ArrayList 的成员在选择相应的单选按钮,然后单击"编辑"按钮)关于如何实现这一目标的任何想法将不胜感激。这是我的代码,用于介绍一下。

<% 
   ArrayList<requestbean> reqjsp = new ArrayList<requestbean>();
   reqjsp = (ArrayList<requestbean>) (request.getAttribute("reqdb"));
%>
<script type ="text/javascript">
   function x() {
      var ele = document.getElementsByName('reqradio');
      var i = ele.length;
      for ( var j = 0; j < i; j++ ) {
         if ( ele[j].checked ) {
             document.getElementById("edireq").disabled = false;
             alert('request ' + ( j + 1 ) + ' selected');
             //Here is where the functionality is desired to access reqjsp.get(j)
        }      
     }
  }
</script> 
<input type="button" name="edireq" id="edireq" onclick="x()" value="Edit Request">

这些是我表中的几列。

<%
 for ( int i = 0; i < reqjsp.size(); i++ ) {
%>
  <tr> 
    <td> <input type="radio" name="reqradio" id="req<%=(i+1) %>"></td> 
    <td><%= reqjsp.get(i).getRequestid() %></td>            
    <td><%= reqjsp.get(i).getRequestor() %></td>  
    <td><%= reqjsp.get(i).getApprover() %></td>              
  </tr> 
<%} %>

你可以用 JSP 代码生成一个 JavaScript 数组,然后在 JavaScript 中访问这个生成的变量。但是您将无法以这种方式更改底层 Java 对象中的任何内容:

<script type ="text/javascript">
<% 
   ArrayList<requestbean> reqjsp = new ArrayList<requestbean>();
   reqjsp = (ArrayList<requestbean>) (request.getAttribute("reqdb"));
%>
var myJsArray = new Array();
<%
   for ( int i = 0; i < reqjsp.size(); i++ ) {
%>
myJsArray.push('<%= reqjsp.get(i) %>');
<%
   }
%>
// JavaScript code to access the myJsArray array
</script>

JSP 代码将生成此类代码:

<script type ="text/javascript">
var myJsArray = new Array();
myJsArray.push('value1');
myJsArray.push('value2');
myJsArray.push('value3');
// JavaScript code to access the myJsArray array
</script>