0
我是JavaScript新用戶。我有JSP頁面上選擇3:對於onChange()
事件ComboBox onChange事件
<select id="railwayServiceList" name="railwayService_id"
onchange="changeCompaniesCombo()"></select>
<select id="companyList" name="company_id"
onchange="changeCompaniesCombo()"></select>
<select id="departmentList" name="department_id"></select>
和JavaScript功能:
function changeCompaniesCombo() {
var railwayServiceList = document.getElementById("railwayServiceList");
var companyList = document.getElementById("companyList");
var selected = railwayServiceList.value;
while (companyList.options.length) {
companyList.remove(0);
}
<c:forEach items="${companies}" var="company" varStatus="loopStatus">
if ("${company.railwayService}" == selected) {
var option = new Option("${company.name}", "${company}");
companyList.options.add(option);
}
</c:forEach>
}
function changeDepartmentCombo() {
var departmentList = document.getElementById("departmentList");
var companyList = document.getElementById("companyList");
var selected = companyList.value;
while (departmentList.options.length) {
departmentList.remove(0);
}
<c:forEach items="${selected.departments}" var="department" varStatus="loopStatus">
var option = new Option("${department.name}", "${department.id}");
companyList.options.add(option);
</c:forEach>
}
它工作正常,但也許有一些方法來創建所有選擇一個共同的功能? (我有8個選擇)。數據模型由Spring MVC控制器生成。
我相信你可以傳遞參數到您指定的onchange事件的函數。如果你傳遞上下文(「this」),你可以獲得關於選擇哪一個的信息,並在一個changeXXXCombo()函數中處理它。我有一段時間沒有用js做任何事情,所以我可能會將它與另一種語言混淆,但我認爲你可以這樣做 – DerStrom8 2014-11-25 17:22:55
我還需要生成帶有值的組合框。我不明白如何傳遞值的列表。例如,公司組合可以從$ {railwayService.companies},Department中獲取值 - 從$ {company.departments} – 2014-11-25 18:10:56