作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在下面的代码中,我尝试使用 var i
在java方法中option.value = <% ppList.get(i).getId(); %>
但这对我来说效果不太好。
这是完整的js函数:
function receiveAnswer(response) {
var aSeats = document.getElementById("aSeats");
while (aSeats.childNodes.length > 0) { // clear it out
aSeats.removeChild(aSeats.childNodes[0]);
}
<% List<Physical_Package> ppList = (List<Physical_Package>) session.getAttribute("currentPack"); %>
for (var i = 0; i < response.aSeats.length; i++) { // add the items back in
var option = aSeats.appendChild(document.createElement("option"));
option.setAttribute("type", "hidden");
option.setAttribute("name", "id");
option.setAttribute("value", "")
option.appendChild(document.createTextNode(response.aSeats[i]));
option.value = <% ppList.get(i).getId(); %>
}
}
最佳答案
你在这里混合了两种完全不同的东西。 Java 代码在服务器上运行,包含 JavaScript 的结果页面被发送到浏览器。 i
是一个 JavaScript 变量,在执行 Java 代码时不存在。
一种解决方案是将 ppList
中的所有 ID 打印到 JavaScript 数组中,然后您可以从客户端访问该数组:
var array = [
<%
List<Physical_Package> ppList = (List<Physical_Package>) session.getAttribute("currentPack");
for (Physical_Package pp : ppList)
out.println(pp.getId() + ",");
%>
];
...
option.value = array[i];
这只是一个例子;在 JSP 文件中混合 Java 代码是一种不好的做法。考虑使用 JSTL 或此处描述的替代解决方案之一:How to avoid Java Code in JSP-Files?
关于javascript - 如何在 javascript 中获取 int 变量以输入 java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5561049/
我是一名优秀的程序员,十分优秀!