获取在网页中单击的下拉菜单的值

Get the value of dropdown menu which is clicked in a webpage

我正在尝试获取在页面中单击的下拉菜单的值。这是我现在正在做的事情:

<c:forEach items="${menuItem.dropdown}" var="dItem">
    <li>
        <a href="${dropdownItem.link}" onclick="<c:set var="clickedDropdown" value="${dItem.name}"/>">${dItem.name}</a>
    </li>
</c:forEach>

但是当我点击下拉菜单时,它设置了最后一个下拉菜单项的值。我没有得到正确的价值。有什么办法,我可以得到那个下拉菜单项的值吗?

onclick="<c:set var="clickedDropdown" value="${dItem.name}"/>"

虽然<c:set var="clickedDropdown" value="${dItem.name}"/>onclick里面,但是会在jsp编译的时候提前执行。因为它在 foreach 中,所以最后一个值自然保留为变量的值。

即使你想使用 javascript 设置变量,你也不能,因为 javascript 在前端工作而 jstl 在后端工作。

所以,显然实际上没有办法实现这一点。你需要彻底改变你的方法。