2017-02-14 16 views
0

Использование Oracle Apex 4.2Oracle APEX табличной форме списка выбора отключить

У меня есть табличная форма, где вы можете создать новую строку и может обновить существующие данные. У меня возникла проблема с попыткой отключить или сделать элементы, которые читаются только в списке выбора в табличной форме.

Например, в нем есть список выбора; оранжевый, зеленый, синий, красный

Я хочу, чтобы можно было отключить или прочитать только элементы синего и оранжевого цвета в списке выбора на основе значения из другого столбца.

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

ответ

0

Это быстрый тест в Apex 5, но я думаю, что вы можете использовать аналогичный подход в 4.2
1. Создание динамических действий при загрузке страницы
- набор действий с JavaScript код - Выбор типа для JQuery селектор
enter image description here
- Осмотрите элемент, чтобы найти его идентификатор (в моем случае «f01_0001»)
enter image description here
2. Изменить «если» условие, чтобы соответствовать вашим критериям. Например:

var op = document.getElementById("f01_0001").getElementsByTagName("option"); 
for (var i = 0; i < op.length; i++) { 
    // lowercase comparison for case-insensitivity 
    if (op[i].value.toLowerCase() == "red") { 
     op[i].disabled = true; 
    } 
} 
0

Я предполагаю, что вы хотите применить отключенный стиль к двум опциям select item, основанным на значении другого элемента.

Предполагая, что

  • первого столбцом табличной формы является текстовым полем и имеет значение, которое должно быть ссылкой
  • пятого столбец табличной формы является один с выбором пунктом с синими и оранжевыми вариантами
  • есть несколько строк в таблице
  • коллекция элементов ввода, которые имеют общее имя «f01», но разные идентификаторы, основанные на позиции строки. Например, «f01_000X», где x - индекс строки.
  • коллекция элементов выбора, имеющих общее имя «f05», но разные идентификаторы, основанные на позиции строки. Например, «f05_000X», где x - индекс строки.
  • стилизовать опции выбора синий и оранжевый, когда значение текстового поля в первом столбце - «abc». стилизуйте так, чтобы этот параметр не был выбран.
  • стилизовать на странице загрузки (не на ссылочного изменения значения текстового поля или обновления области)

Solution,

Перебор всех текстовых элементов на странице загрузки, определить индекс строки текущего элемента, получить ручку выберите пункт синего и оранжевого вариантов, а также назовите текстовое поле с помощью определенной строки, а затем соответствующим образом настройте ее.

кодекс о том, как ходить с этим,

Javascript Функция и глобальная переменная Декларация

function updateRowStyle(rowIndex) { 
    var inp_reference = $("#f01_" + rowIndex); 
    var opt_blue = $("#f05_" + rowIndex + " option:contains('blue')"); 
    var opt_orange = $("#f05_" + rowIndex + " option:contains('orange')");; 
    if (inp_reference.val() === "ABC") { 
     opt_blue.prop("disabled", true); 
     opt_orange.prop("disabled", true); 
    } else { 
     opt_blue.prop("disabled", false); 
     opt_orange.prop("disabled", false); 
    } 
} 

Выполнить при загрузке страницы

$("[name=f01]").each(function() { 
    updateRowStyle(this.id.split("_").pop()); 
});