- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 netbeans 和 mysql 在 java 中制作一个 Web 应用程序。数据库中有两个表“Categroy”和“SubCat”。并且有实体类和 session bean 来从数据库中提取数据。jsp 表单中有两个下拉列表。我希望当在第一个下拉列表中选择一个类别时,其类别 ID 会在 servlet 中消失,并且从那里开始,第二个下拉列表中会显示仅相关子类别的列表。我怎样才能得到那个?
我的JSP代码如下
<form action="<c:url value='submit_site'/>" method="POST">
<table border="0">
<tbody>
<tr>
<td><label for="cat">Category</label></td>
<td>
<select name="category">
<c:forEach var="cat" items="${categories}">
<option name="catId" value="${category.id}">${cat.id}. ${cat.catName}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td><label for="SuCat">SubCategory</label></td>
<td>
<select name="subcat">
<option>Select...</option>
<c:forEach var="subcat" items="${subCategories}">
<option name="subId" value="${subcat.subId}">${subcat.subCatName}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit"
value="Submit"/>
</td>
<td colspan="2">
<input type="reset"
value="Reset" />
</td>
</tr>
</tbody>
</table>
</form>
数据库中的所有类别都显示在第一个下拉列表中,但从第一个下拉列表中,所选类别的 ID 不会进入 servlet,并且子类别不会显示在第二个下拉列表中。我如何在第二个下拉菜单中获取相关子类别?请指导我,我已经坚持了两周了。
我在网上搜索过,但无法解决我的困惑。有用于下拉列表的 JavaScript,但我无法理解这些脚本。我可以在不使用 javascript cod 的情况下做到这一点吗?
最佳答案
好吧,我认为你将无法摆脱 javascript :-)。您可以使用按钮进行完整提交。加载第二个组合并且用户选择第二个组合。这将是一种非常奇怪的用户体验:-)。
您的问题可以通过两种方式解决:
AJAX 调用更可取并且更用户友好。完整提交更容易实现,但页面会闪烁并重新加载内容。
可以使用提交来选择组合框中的选项来完成完整提交(如果文档中只有一个表单):
<select name="subcat" onchange="document.forms[0].submit()">
<option>Select...</option>
<c:forEach var="subcat" items="${subCategories}">
<option name="subId" value="${subcat.subId}">${subcat.subCatName}</option>
</c:forEach>
</select>
对于 AJAX 调用,您可以使用 XmlHttpObject 自己实现,但这是重新发明轮子;坚持使用 jquery 等 JS 框架。
<小时/>更新:抱歉,我以错误的顺序发布了链接。 This是一个将 jquery 与 servlet 结合使用的示例。基本上,您可以使用 JSON(或 HTML,如 this link )序列化整个子类别列表,然后使用 javascript 重新加载组合框
关于java - 如何在netbeans中使用servlet和jsp根据第一个下拉列表中的类别选择在下拉列表中显示相关子类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14318828/
是否有某种方法可以使用 JPA 或 Hibernate Crtiteria API 来表示这种 SQL?或者我应该将其作为 native 执行吗? SELECT A.X FROM (SELECT X,
在查询中, select id,name,feature,marks from (....) 我想删除其 id 在另一个 select 语句中存在的那些。 从 (...) 中选择 id 我是 sql
我想响应用户在 select 元素中选择一个项目。然而这个 jQuery: $('#platypusDropDown').select(function () { alert('You sel
这个问题在这里已经有了答案: SQL select only rows with max value on a column [duplicate] (27 个回答) 关闭8年前。 我正在学习 SQL
This question already has answers here: “Notice: Undefined variable”, “Notice: Undefined index”, and
我在 php 脚本中调用 SQL。有时“DE”中没有值,如果是这种情况我想从“EN”中获取值 应该是这样的,但不是这样的 IF (EXISTS (SELECT epf_application_deta
这可能是一个奇怪的问题,但不知道如何研究它。执行以下查询时: SELECT Foo.col1, Foo.col2, Foo.col3 FROM Foo INNER JOIN Bar ON
如何在使用 Camera.DestinationType.FILE_URI. 时在 phonegap camera API 中同时选择或拾取多个图像我能够一次只选择一张图像。我可以使用 this 在
这是一个纯粹的学术问题。这两个陈述实际上是否相同? IF EXISTS (SELECT TOP 1 1 FROM Table1) SELECT 1 ELSE SELECT 0 相对 IF EXIS
我使用 JSoup 来解析 HTML 响应。我有多个 Div 标签。我必须根据 ID 选择 Div 标签。 我的伪代码是这样的 Document divTag = Jsoup.connect(link
我正在处理一个具有多个选择框的表单。当用户从 selectbox1 中选择一个选项时,我需要 selectbox2 active 的另一个值。同样,当他选择 selectbox2 的另一个值时,我需要
Acme Inc. Christa Woods Charlotte Freeman Jeffrey Walton Ella Hubbard Se
我有一个login.html其中form定义如下: First Initial Plus Last Name : 我的do_authorize如下: "; pri
$.get( 'http://www.ufilme.ro/api/load/maron_online/470', function(data
我有一个下拉列表“磅”、“克”、“千克”和“盎司”。我想要这样一种情况,当我选择 gram 来执行一个函数时,当我在输入字段中输入一个值时,当我选择 pounds 时,我想要另一个函数来执行时我在输入
我有一个 GLSL 着色器,它从输入纹理的 channel 之一(例如 R)读取,然后写入输出纹理中的同一 channel 。该 channel 必须由用户选择。 我现在能想到的就是使用一个 int
我想根据下拉列表中的选定值生成输入文本框。 Options 2 3 4 5 就在这个选择框之后,一些输入字段应该按照选定的数字出现。 最佳答案 我建议您使用响应式(Reac
我是 SQL 新手,我想问一下如何根据首选项和分组选择条目。 +----------+----------+------+ | ENTRY_ID | ROUTE_ID | TYPE | +------
我有以下表结构: CREATE TABLE [dbo].[UTS_USERCLIENT_MAPPING_USER_LIST] ( [MAPPING_ID] [int] IDENTITY(1,1
我在移除不必要的床单时遇到了问题。我查看了不同的论坛并将不同的解决方案混合在一起。 此宏删除工作表(第一张工作表除外)。 Sub wrong() Dim sht As Object Applicati
我是一名优秀的程序员,十分优秀!