在 onChange 事件中将变量作为参数从 JSP 传递?

passing variables as parameter from JSP in onChange event?

我想知道是否可以将变量作为参数从 JSP 传递到 Onchange 函数。如果可以,怎么做?

<%>for(int i = 0; i < i < 100; i ++){<%>
    <select name="<%= i %>user" id="<%= i %>" onchange="myFunction(<%=i%>)">
      <option value="present">present</option>
      <option value="absent">absent</option>
      <option value="holiday">holiday</option>
    </select>
<%>}<%>

function myFunction(i) {
    var element = document.getElementById(i);

    element.setAttribute("style", "background-color: red;");
}

我一直在尝试不同的方法,但都行不通。

请帮忙!

您可以使用 <c:forEach></<c:forEach> 循环进行迭代并使用 ${loop.index} 获取特定值,即:0,1..100

您的 jsp 代码如下所示:

<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
 //begin from 0 loop till 100 
 <c:forEach begin="0" end="100" varStatus="loop">
       <select name="${loop.index}user" id="${loop.index}" onchange="myFunction(${loop.index})">
            <option value="present">present</option>
            <option value="absent">absent</option>
            <option value="holiday">holiday</option>
       </select>
  </c:forEach>

您的javascript代码:

function myFunction(i) {
   var element = document.getElementById(i);//getting id
    element.style.background = "blue";//apply bg color 
}