gpt4 book ai didi

java - 如何将所选对象参数从下拉菜单发送到 JSP 中的函数

转载 作者:行者123 更新时间:2023-11-29 05:58:10 24 4
gpt4 key购买 nike

我有一个下拉菜单,其中包含一些文档名称。现在,当一个人选择一个文档时,它会调用 onDocumentChange() 方法。

为了填充下拉菜单,我收到一个名为 result 的对象,它是来自服务器的文档对象列表。

<select id="documentSelect" onChange="onDocumentChange()">
<c:forEach items="${results}" var="result">
<option id="${result.getDocDisplayURL()}"><c:out value="${result.getDocFn()}"/></option>
</c:forEach>
</select>

到目前为止,它一直在向前推进。

现在这个 doc 对象有一些其他属性,称为日期和时间。现在,当用户单击下拉菜单中的任何项目时,我想将该特定项目的时间和日期属性发送到 onDocumentChange() 方法。我该怎么做。

我猜是这样的

<select id="documentSelect" onChange="**onDocumentChange(result.date, result.time)**">
<c:forEach items="${results}" var="result">
<option id="${result.getDoc()}"><c:out value="${result.getText()}"/></option>
</c:forEach>
</select>

谢谢

最佳答案

您似乎认为 JavaScript 与 Java/JSP 一起运行。这是不真实的。 Java/JSP 生成 HTML,而 JavaScript 是该 HTML 的一部分,并且仅在 HTML DOM 树上工作。您需要确保您的 Java/JSP 代码生成的 HTML 代码恰好包含 JavaScript 需要访问的信息。您可以让 Java/JSP 将这些变量打印为 HTML 元素的属性,例如 <option>在你的情况下。您可以使用自定义 data-* HTML 中的属性以附加自定义属性。

<option value="${result.doc}" data-date="${result.date}" data-time="${result.time}">

可以获得当前选中的<option> JavaScript中的元素如下

var option = select.options[select.selectedIndex];
var doc = option.value;
var date = option.getAttribute("data-date");
var time = option.getAttribute("data-time");
// ...

你只需要改变onchange传递 HTML 的处理程序 <select>元素本身

onchange="onDocumentChange(this)"

function onDocumentChange(select) {
// ...
}

顺便说一下,为什么您要为日期和时间使用单独的属性而不是单个 java.util.Date属性(property)?模型设计有问题。

关于java - 如何将所选对象参数从下拉菜单发送到 JSP 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11230223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com