![](/img/trans.png)
[英]javascript - drop down display on the second field based on selection in first field
[英]Field addition based on drop down option selection in java
我的服務器頁面上有一個dropdown
列表字段。 我想根據下拉菜單中選擇的選項向頁面添加文本字段。
呈現字段的Java代碼:
protected void printContent(HttpServletRequest request, HttpServletResponse response) {
StringBuffer sb = new StringBuffer();
makeJsScriptsAdvancedRest(request, sb);
sb.append("<TABLE id='abc' style='width:100%;'> \n");
makePagingTypeField(sb);
sb.append("</TABLE>");
if (option 1 : don't show fields)
{
sb.append("<TABLE id='certs1' style='display:none'>");
makeField1(sb);
sb.append("</TABLE>");
sb.append("<TABLE id='certs2' style='display:none'>");
makeField2(sb);
makeField3(sb);
makeField4(sb);
sb.append("</TABLE>");
}
else if (option 2 : show fields in certs1)
{
sb.append("<TABLE id='certs1' style='display:block'>");
makeField1(sb);
sb.append("</TABLE>");
sb.append("<TABLE id='certs2' style='display:none'>");
makeField2(sb);
makeField3(sb);
makeField4(sb);
sb.append("</TABLE>");
}
else if (option 3 : show fields in certs2)
{
sb.append("<TABLE id='certs1' style='display:none'>");
makeField1(sb);
sb.append("</TABLE>");
sb.append("<TABLE id='certs2' style='display:block'>");
makeField2(sb);
makeField3(sb);
makeField4(sb);
sb.append("</TABLE>");
}
print(sb, true);
}
編輯:
根據drgPP的回答,我將代碼更改如下。 JavaScript代碼:
FLD_PagingType
是PaginField下拉列表的名稱。
protected void makeJsScriptsAdvancedRest(HttpServletRequest request,StringBuffer sb) {
sb.append("<script type=\"text/javascript\">\n");
sb.append("function updateValues() {\n");
sb.append(" var y = document.getElementById('certs1'); var z = document.getElementById('certs2');"+
" var x = document.getElementById('" + FLD_PagingType + "'); var w = x.options[x.selectedIndex].text;" +
"if(w =='" + PAGE_BASED + "') { y.style.display = 'block'; z.style.display = 'none'; }" +
"else if(w =='" + RECORD_BASED + "') { y.style.display = 'none'; z.style.display = 'block';} " +
"else if(w =='" + NO_PAGINATION + "') { y.style.display = 'none'; z.style.display = 'none';} \n");
sb.append("}\n");
sb.append("</script>\n");
}
getSelectValue()
返回字符串選項值。
我可以正確操作選擇字段,但是當選擇了選項時,UI上的一切都會改變。
任何建議,指針表示贊賞!
首先,在javascript中,要測試相等性,您必須使用==
(測試值)或===
(測試值和類型),但不能使用equals()
方法(這是一個Java方法)。
您在jQuery
標簽中提到過,並且使用過JavaScript
。
示例如何使用jQuery在<select></select>
事件上添加偵聽器的示例。
HTML:
<input id="field" name="field" type="text" value="" />
<select id="test" name="test">
<option value="1">First value</option>
<option value="2">Second value</option>
</select>
jQuery的:
<script>
$(document).ready(function() {
$("#test").change(function() {
var selectedValue = $("#test").val();
if (selectedValue == "1") {
$("#field").val("First option selected");
} else {
$("#field").val("Second option selected");
}
}
});
});
</script>
PS:不要忘了導入jQuery庫,然后再使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.