【问题标题】:passing variables as parameter from JSP in onChange event?在 onChange 事件中将变量作为参数从 JSP 传递?
【发布时间】:2020-09-18 12:24:04
【问题描述】:

我想知道是否可以将变量作为参数从 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;");
}

我一直在尝试不同的方法,但它不起作用。

请帮忙!

【问题讨论】:

    标签: javascript jsp servlets


    【解决方案1】:

    您可以使用&lt;c:forEach&gt;&lt;/&lt;c:forEach&gt; 循环进行迭代并使用${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 
    }
    

    【讨论】:

    • 谢谢!!我以前从未使用过 JSTL,但这是一个非常好的做法!
    猜你喜欢
    • 2013-08-09
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    相关资源
    最近更新 更多