【问题标题】:icefaces 1.8.2: update a table with many selectOnemenu depending on a selectOnemenuicefaces 1.8.2:根据 selectOnemenu 更新包含许多 selectOnemenu 的表
【发布时间】:2020-08-11 16:18:03
【问题描述】:

我有一个带有汽车列表的 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 标签。

我该怎么办?

谢谢!!

【问题讨论】:

    标签: icefaces selectonemenu


    【解决方案1】:

    我找到了解决方法。使用:

    JavascriptContext.addJavascriptCall(FacesContext.getCurrentInstance(),javascriptCodeString);
    

    向页面添加 Javascript 代码。

    字符串 javascriptCodeString 必须包含一个 Javascript 代码,该代码使用 CSS 类将点击事件绑定到隐藏的 将调用操作(用于更新字段值):

    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);
    }
    

    这适用于 icefaces 1.8.2,不需要 ajax 标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-07
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多