我正在使用netbeans和mysql用java制作一个web应用程序。数据库“Categroy”和“SubCat”中有两个表。还有实体类和会话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,子类别也没有显示在第二个下拉列表中。如何在第二个下拉列表中获取相关子类别?请引导我,我从两个星期以来一直在这方面努力。
我在网上搜索过,但无法解决我的困惑。下拉列表中有javascripts,但我无法理解这些脚本。我可以不用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框架。
更新:对不起,我把链接按错误的顺序发布了。这是一个将jQuery与servlet一起使用的示例。基本上,您可以使用JSON(或超文本标记语言,如本链接所示)序列化整个子类别列表,然后使用javascript重新加载组合框
我正在使用WooCommerce子类别归档页面上的显示子类别术语列表回答我上一个问题的代码,在我的WooCommerce商店的父类别页面上显示我的子类别 现在我希望它显示为一个下拉列表(理想情况下是一个select2下拉列表,就像其他WooCommerce下拉列表一样),而不是普通的链接。 我知道我可以使用,但如何在主父子类别页面上显示子类别作为下拉列表?
我想在选择另一个select元素的一个选项时显示一个select元素,在选择另一个选项时隐藏它。 这是JavaScript: 感谢任何帮助。谢谢
我无法从selenium webdriver中的下拉列表中选择值。我尝试了所有使用名称和xpath选择器的方法。请帮忙。 代码是:
我的代码如下: WebElement stateDropDown=驱动程序。findElement(By.xpath(“/html/body/form/div[3]/main/div/div/div/span/div/fieldset/div[4]/div[1]/span/span[1]”);列表选项=状态下拉列表。findElements(By.xpath(“/html/body/div[1]/
我想在下拉列表中隐藏所选项目。 我试图从选择事件的数据源中删除该项目,并直接将文本和值分配给下拉列表。但是值将是空的,可能是因为设置的值不存在于数据源中。在剑道留档中找不到解决方案。
问题内容: 我想在选择 列表(下拉列表)中显示类别,子类别和子子类别,就像WordPress在其管理面板中显示的方式一样。 首先看一下我的数据库表(tb_categories)- 数据库表 我想要以下HTML格式的输出- 输出 两项“无”和“未分类”在代码中进行了硬编码。我 想知道如何 使用选择列表选项以层次结构顺序显示类别及其子类别。 我正在尝试使用自我连接的以下sql查询。这 是- And t