【问题标题】:How to pass parameter to jQuery document.ready() function (jstl, MVC, java)如何将参数传递给 jQuery document.ready() 函数(jstl、MVC、java)
【发布时间】:2017-02-01 07:21:21
【问题描述】:

在我的 .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”等)

【问题讨论】:

    标签: javascript jquery html spring-mvc jstl


    【解决方案1】:

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

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

    另外,如果你想分割字符串并获得以“,”分隔的单个参数,你可以使用split方法。

    【讨论】:

    • 如何根据参数名称获取值?像 param1、jscode 等,因为我将在 param2+param3 等另一个函数中用于计算。
    • 那么,你知道参数的顺序吧?像 jscode、code、operator、param1、...、para5、run、param6 和 param7。因此,现在您将根据“。”拆分值。像 str.split(',') 你会得到一个包含所有参数值的数组。现在您可以将它与一些键和值相关联,并创建一个新数组并将其传递给另一个方法。有意义吗?
    猜你喜欢
    • 2011-08-24
    • 2013-01-27
    • 2017-07-28
    • 2010-09-27
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 2011-04-16
    • 2017-02-05
    相关资源
    最近更新 更多