我有一个ice:selectOneMenu,上面列出了汽车列表。我需要在选择汽车时更新带有许多selectOneMenu的可选表,并自动选择默认值。
所以:
Cars: <select>
Optionals Table
-----------------------
Colors: <select>
Engines: <select>
Seats: <select>
Interior Color: <select>
...
...
问题是我更改了Cars值,但表未更新且未选择其值
所以我想要:
如果我选择了法拉利汽车,请在可选表格中:自动选择红色,自动选择3902CC发动机,等等。
如果我选择了保时捷汽车,则会自动选择白色,自动选择616/16引擎,等等。
我正在使用icefaces 1.8.2,可能无法使用ajax标记。
我该怎么办?
谢谢!
答案 0 :(得分:0)
我找到了一种解决方法。使用:
JavascriptContext.addJavascriptCall(FacesContext.getCurrentInstance(),javascriptCodeString);
将Javascript代码添加到页面。
字符串javascriptCodeString必须包含一个Javascript代码,该代码使用CSS类将click事件绑定到隐藏的 这可用于icefaces 1.8.2,而无需ajax标记。function updateFields() {
document.getElementsByClassName('updateFieldsCommandButton')[0].click();
}
var listOfFields=document.getElementsByClassName('fieldToBeUpdated');
for(var i=0,len=listOfFields.length;i<len;i++) {
listOfFields[i].addEventListener('change', updateFields);
}