我在Cognos 8.3中有一个多选列表框值提示。
它包含值:
阿德莱德北部
阿德莱德南
阿德莱德东
阿德莱德东
北悉尼
南悉尼
东悉尼
西悉尼
等等

我希望能够在我的提示页面上添加一个按钮,单击该按钮时可以选择预定选项,例如阿德莱德北部,东南部和西部。

例如:一个Adelaide按钮,用于选择North Adelaide,South Adelaide South,Adelaide East和West Adelaide,而不是使用户在多选列表框中选择4个选择。

有办法吗?我在属性的其他区域中将列表框cboFSA命名为。

任何帮助,不胜感激。

最佳答案

我假设这是基于Web的Cognos界面?如果是这样,这应该为您做到:

如果将名称cboFSA分配为<select>的ID属性,请使用:

<select size="6" id="cboFSA" multiple="multiple">
<option>Adelaide North</option>
<option>Adelaide South</option>
<option>Adelaide East</option>
<option>Adelaide East</option>
<option>Sydney North</option>
<option>Sydney South</option>
<option>Sydney East</option>
<option>Sydney West</option>
</select>
<input type="button" value="Select all Adelaide" onclick="selectCity('adelaide', 'cboFSA');">
<input type="button" value="Select all Sydney" onclick="selectCity('sydney', 'cboFSA');">
<script type="text/javascript">
function selectCity(city, list) {
    if ('string' === typeof city) {
        city = city.toLowerCase();
        if (document.getElementById) {
            var sel = document.getElementById(list);
            if (sel && (sel = sel.options)) {
                for (var ii = 0, iiLen = sel.length; ii < iiLen; ++ii) {
                    sel[ii].selected = (sel[ii].text.toLowerCase().indexOf(city) !== -1);
                }
            }
        }
    }
}
</script>


如果将名称cboFSA分配为<select>的NAME属性,请使用:

<select size="6" name="cboFSA" multiple="multiple">
<option>Adelaide North</option>
<option>Adelaide South</option>
<option>Adelaide East</option>
<option>Adelaide East</option>
<option>Sydney North</option>
<option>Sydney South</option>
<option>Sydney East</option>
<option>Sydney West</option>
</select>
<input type="button" value="Select all Adelaide" onclick="selectCity('adelaide', 'cboFSA', this);">
<input type="button" value="Select all Sydney" onclick="selectCity('sydney', 'cboFSA', this);">
<script type="text/javascript">
function selectCity(city, list, btn) {
    if ('string' === typeof city) {
        city = city.toLowerCase();
        var sel;
        if (btn && btn.form && (sel = btn.form[list]) && (sel = sel.options)) {
            for (var ii = 0, iiLen = sel.length; ii < iiLen; ++ii) {
                sel[ii].selected = (sel[ii].text.toLowerCase().indexOf(city) !== -1);
            }
        }
    }
}
</script>


您可以在浏览器中使用“视图”>“源”来确定Cognos是分配您指定为ID还是NAME属性的值。

09-19 16:44