使用的Oracle APEX 4.2的Oracle APEX表格的形式選擇列表中的禁用
我有一個表格的形式,您可以創建一個新的行和可更新現有數據。我在嘗試禁用或使項目只能在表格窗體上的選擇列表中讀取時遇到問題。
例如,選擇列表包含在其中; 橙色,綠色,藍色,紅色
我希望能夠根據另一列的值禁用或只讀取選擇列表中的藍色和橙色項目。
任何幫助,將不勝感激。
使用的Oracle APEX 4.2的Oracle APEX表格的形式選擇列表中的禁用
我有一個表格的形式,您可以創建一個新的行和可更新現有數據。我在嘗試禁用或使項目只能在表格窗體上的選擇列表中讀取時遇到問題。
例如,選擇列表包含在其中; 橙色,綠色,藍色,紅色
我希望能夠根據另一列的值禁用或只讀取選擇列表中的藍色和橙色項目。
任何幫助,將不勝感激。
這是先端5快速測試,但我認爲你可以使用類似的方法在4.2
1.創建動態動作在頁面加載
- 一套動作來執行JavaScript代碼 - 選擇類型到jQuery選擇
- 檢查元素找到他的身份證(在我的情況「f01_0001」)
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;
}
}
我猜你想要禁用的樣式應用到選擇項目的2個選項基於來自其他項目的值。
假設,
解決方案,
循環通過在頁面加載的所有文字項,確定當前項的行索引,得到的手柄選擇項目的藍色和橙色選項,並在標識的行的幫助下引用文本字段,然後相應地設置樣式。
守則如何去用這個,
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());
});