0

我在 Cognos 8.3 中有一个多选列表框值提示。

它包含值:

阿德莱德北
阿德莱德南
阿德莱德东
阿德莱德东
悉尼北
悉尼南
悉尼东
悉尼西
等。

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

例如:一个阿德莱德按钮选择阿德莱德北、阿德莱德南、阿德莱德东和阿德莱德西,而不是让用户选择多选列表框中的 4 个选项。

有没有办法我可以做到这一点?我在属性的杂项区域中将我的列表框命名为 cboFSA。

非常感谢任何帮助。

4

1 回答 1

3

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

如果名称 cboFSA 被指定为使用的 ID 属性<select>

<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 被指定为使用的 NAME 属性<select>

<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>

您可以在浏览器中使用 View > Source 来确定 Cognos 是否分配了您指定为 ID 或 NAME 属性的值。

于 2008-10-02T22:16:41.213 回答