Cognos 8 Javascript для выбора значений в окне со списком множественного выбора - PullRequest
0 голосов
/ 29 сентября 2008

В Cognos 8.3 у меня есть подсказка со значением в списке со множественным выбором.

Содержит значения:

Аделаида Север
Аделаида Юг
Аделаида Восток
Аделаида Восток
Сидней Норт
Сидней Юг
Сидней Восток
Сидней Уэст
и т.д.

Я хочу добавить на страницу приглашения кнопку, которая при нажатии выбирает заранее определенные параметры, такие как Север Аделаиды, Юго-Восток и Запад.

Например: кнопка Аделаиды, чтобы выбрать Север Аделаиды, Юг Аделаиды, Восток Аделаиды и Запад Аделаиды, вместо того, чтобы заставлять пользователя выбирать 4 варианта выбора в списке со множественным выбором.

Есть ли способ, которым я могу это сделать? Я назвал свой список cboFSA в разных областях свойств.

Любая помощь высоко ценится.

1 Ответ

3 голосов
/ 03 октября 2008

Я предполагаю, что это веб-интерфейс Cognos? Если это так, это должно сделать это для вас:

Если имя cboFSA назначено в качестве атрибута идентификатора <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.

...