我是Oracle APEX的新手。你能幫我解決下面的問題嗎? 我正在使用APEX 5.0Oracle APEX表格形式,需要創建一個只讀列。除了單擊「添加行」時的新行
我有一個主表詳細頁面,我有一個表格形式。其中一列使用選擇列表中的LOV。
現在我必須將此列值設置爲只讀,以便用戶無法更改它,除非單擊「添加行」時出現在新行上。
許多在此先感謝:)
拉夫
我是Oracle APEX的新手。你能幫我解決下面的問題嗎? 我正在使用APEX 5.0Oracle APEX表格形式,需要創建一個只讀列。除了單擊「添加行」時的新行
我有一個主表詳細頁面,我有一個表格形式。其中一列使用選擇列表中的LOV。
現在我必須將此列值設置爲只讀,以便用戶無法更改它,除非單擊「添加行」時出現在新行上。
許多在此先感謝:)
拉夫
我假設你知道如何使用瀏覽器的「檢查元素」功能。 (如果不是那麼這是如何): 運行你的頁面。然後右鍵單擊要設置爲只讀的列中的某個選擇列表。一個窗口將出現在頁面的底部。獲取它的名稱屬性。它應該以「f0 ..」(例如「f01」)開始。 然後在你的頁面的「執行頁面加載」的一部分,進入這行代碼: $("[name=the_name_you_just_copied]").css("pointer-events","none");
樣本行:$("[name=f01]").css("pointer-events","none");
這可以使用JavaScript來完成。閱讀詳細描述下面的演示來執行這樣的任務Tabular Form's Column Read-Only and No Duplication和這個 discussion
例如:
if ($x(field_id).value != "") {
$x(field_d).readOnly = "readonly";
}
嗨穆罕默德, 謝謝你的迴應。我已經應用了相同的方法,但不工作。可能是因爲我的列正在使用選擇列表方法中的LOV。但我使用下面的行 $(「[name = f04]」)。css(「pointer-events」,「none」); – user3780030
嗨穆罕默德, 我改變了財產從「只讀」到「禁用」,它的工作 var curr_id = document.wwv_flow.f04 [i] .id; $ x(curr_id).disabled = true; – user3780030
感謝萬斯的溶液。我有一個類似的問題,但我希望它是一個只讀的行動。所以$("[name=f01]").css("pointer-events","none");
也可以在任何javascript函數中使用。
function alerts_c(){
var insno= $v('P14_SYSINSNO');
var workDate = $v('P14_WORK_DATE');
$('.t-Report-report tr').last().find('[name=f02]').val(insno)
$('.t-Report-report tr').last().find('[name=f03]').val(workDate)
$("[name=f02]").css("pointer-events","none");
$("[name=f03]").css("pointer-events","none");
apex.event.trigger(document,"alerts_d");
};
嗨萬斯,非常感謝。自從最近3天以來,我一直在嘗試。 我嘗試使用動態操作方法以及使用下面的Java腳本。 $('input [name =「f04」]')。attr(「readonly」,true)); 但似乎沒有工作。你的方法就像一個魅力。 :) 再次感謝您。欣賞它。 – user3780030