如何将参数传递给 jQuery document.ready() 函数(jstl、MVC、java)

How to pass parameter to jQuery document.ready() function (jstl, MVC, java)

在我的 .jsp 文件中我有这样的代码(直截了当)

<td width="200px">
  <input type="text" id="${general.pk.code }_${MTPL[4].pk.run}"
  name="${general.pk.code }_${MTPL[4].pk.run}"
  value="${MTPL[4].value}" onChange="gg('${MTPL[4].jsCode }','${MTPL[4].pk.code }',this,'${MTPL[4].operator }','${MTPL[4].param1 }','${MTPL[4].param2 }','${MTPL[4].param3 }','${MTPL[4].param4 }','${MTPL[4].param5 }','${MTPL[4].pk.run }','${MTPL[4].param6 }','${MTPL[4].param7 }')"
  style="text-align: right;">
</td>

<c:forEach items="${valueRun }" var="generalR">
  <td width="200px">
    <input type="text" id="${general.pk.code }_${generalR}"
    name="${general.pk.code }_${generalR}"
    value="" onChange="gg('${MTPL[4].jsCode }','${MTPL[4].pk.code }',this,'${MTPL[4].operator }','${MTPL[4].param1 }','${MTPL[4].param2 }','${MTPL[4].param3 }','${MTPL[4].param4 }','${MTPL[4].param5 }','${MTPL[4].pk.run }','${MTPL[4].param6 }','${MTPL[4].param7 }')"
    style="text-align: right;">
  </td>
</c:forEach>

当页面完成加载时,值是这样的(检查元素)

input type="text" id="MTPL_4" name="MTPL_4" value="1100" onchange="gg('COPAS','MTPL_4',this,'','this','','4','','','4','','MTPL')" style="text-align: right;">

我想在 javascript 文档准备好函数 gg() 的参数。怎么做。

<script>
  $(document).ready(function() {
    var a = $("#MTPL_4").val(param1); //didnt get param1 value
  });
</script>

我尝试 .val() 但它只获得值 (1100)。如何在 onchange 函数中获取值 gg(); (尝试获取 "COPAS"、'MTPL_4' 等)

您可以为此使用 jquery attr 方法,然后从中获取子字符串,如下所示:

$(document).ready(function(){
    var len = $("#MTPL_4").attr("onchange").length;
    alert($("#MTPL_4").attr("onchange").substring(3, len-1));
})

此外,如果您想拆分字符串并获取由“,”分隔的单个参数,您可以使用 split 方法。