我有一个jsp页面...我根据请求参数动态添加一些内容到页面(请求将返回一个数组)基于此我必须创建一个下拉列表。我想在更改另一个下拉菜单时执行此操作..因此只能使用 javascript 来完成,但我无法在 js 中使用 scriptlet,这真的可能吗?
编辑:我也想对从 scriptlet 检索到的值执行一些操作
将会是这样的
function changeMethod(){
var templateselected = document.getElementById("templateDropDown");
var versionDropDown = document.getElementById("versionDropDown");
if ( templateselected.options.selectedIndex != -1)
{
var selected=templateselected[templateselected.options.selectedIndex].value;
removeChildNodes(versionDropDown);
<%
RetrieveTempSecVersions[] lsListOfFiles = (RetrieveTempSecVersions []) request.getAttribute("templateNames") ;
for (int i=0 ; i < lsListOfFiles[1].getVersionNumber().length ; i++ ) {
System.out.println("helllooooo");%>
versionDropDown.innerHTML+='<OPTION VALUE="'+<%=lsListOfFiles[1].getVersionNumber()[i]%>+'">'+<%=lsListOfFiles[1].getVersionNumber()[i]%>+'</OPTION>';
<%}%>
}
}
最佳答案
是的你可以有这样的东西
function addCombo() {
var textb = document.getElementById("txtCombo");
var combo = document.getElementById("combo");
var option = document.createElement("option");
<c:forEach var="state" items="${stateList}" varStatus="status">
option.text = "${state}";
option.value = "${state}";
try {
combo.add(option, null); //Standard
}catch(error) {
combo.add(option); // IE only
}
</c:forEach>
textb.value = "";
}
注意:我还没有测试过这段代码,这只是一个演示
关于java - js 中的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4509312/