簡體   English   中英

Oracle Apex JavaScript問題

[英]Oracle Apex javascript Issue

我正在使用下面的javascript將值設置為tabular形式的單元格。

<script type="text/javascript">
function eventListener(pThis)
{

$('input[name="f04"]').change(function(){

var that = this;
var vRow = "f10_"+pThis.id.substr(pThis.id.indexOf('_')+1);

$.post("wwv_flow.show", 
       {p_request      : "APPLICATION_PROCESS=GET_AMOUNT",
        p_flow_id      : $v("pFlowId"),
        p_flow_step_id : $v("pFlowStepId"),
        p_instance     : $v("pInstance"),
        x01            : $(this).val()
        },
        function(data){ 
              $('input[id="f10_0002"]').val(data);
        },
        "text"
      );
});

}
</script>

我需要使用在值var vRow代替f10_0002$('input[id="f10_0002"]').val(data);

我已經嘗試過$('input[id=vRow]').val(data); $('input[id='"'+vRow+'"']').val(data);

但是不起作用。 在這些情況下無法使用javascript。 但是$('input[id="f10_0002"]').val(data); 工作。

我如何在var vRow使用值呢?

嘗試:

$('input[id="' + vRow + '"]').val(data);

盡管使用選擇器input[id=value]從技術上來說是正確的(由於jQuery屬性選擇器),但這不是必需的。 主要原因是因為您要按ID定位元素。 Javascript有一個特別快速的特殊方法,當您確定要按ID選擇時,我敢肯定jQuery在內部使用了( document.getElementById )。 要通過ID觸發元素選擇,可以在選擇器字符串的開頭使用#字符。 由於還嘗試使用變量的值,因此可以將"#"vRow連接vRow ,例如:

$("#" + vRow).val(data);

#等效於按ID匹配元素。 如果查看jQuery選擇器頁面( http://api.jquery.com/category/selectors ),則會看到有幾個特殊字符可幫助選擇元素。 正如我所說, #是ID ... . 因此,不是讓jQuery解析字符串“ input [id = value]”並進行大量額外處理,您可以通過簡單地使用#來幫助jQuery更加高效地進行處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM