0

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ばこれに値を使用できますか?

4

2 に答える 2

1

セレクターの使用input[id=value]は技術的には正しいですが (jQuery 属性セレクターのため)、必須ではありません。主な理由は、ID で要素をターゲットにしているためです。Javascript には、特に高速な特別なメソッドがありdocument.getElementById、ID で選択するように指定すると、jQuery が内部的に ( ) 使用すると確信しています。ID による要素の選択をトリガーするに#は、セレクター文字列の先頭にある文字を使用できます。変数の値も使用しようとしているので、次のように"#"andを連結できます。vRow

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

#要素を ID で照合するのと同じです。jQuery セレクター ページ ( http://api.jquery.com/category/selectors ) を見ると、要素の選択に役立ついくつかの特殊文字があることがわかります。私が言ったように、#ID....はクラスなどです。したがって、jQueryに文字列「input [id = value]」を解析させて多くの追加処理を行わせる代わりに、単純にjQueryをより効率的に行うことができますを使用して#

于 2013-01-23T07:19:29.717 に答える
1

試す:

$('input[id="' + vRow + '"]').val(data);
于 2013-01-23T07:00:13.970 に答える