繁体   English   中英

带参数的jQuery函数调用

[英]jquery function call with parameters

我的桌子上有一堆这样的按钮:

<tr class="hr-table-cell" >
    <td>REcord 1</td>
    <td>
        <INPUT type="button" value="Approve"  onclick="" />
        <INPUT type="button" value="Reject"  onclick="" />
        <INPUT type="button" value="Delete"  onclick="fnDeletePpAppl(222445,704);" />
    </td>
  </tr>

  <tr class="hr-table-cell" >
    <td>REcord 1</td>
    <td align="center" class="hr-table-bottom-blue-border" valign="middle">
        <INPUT type="button" value="Approve"  onclick="" />
        <INPUT type="button" value="Reject"  onclick="" />
        <INPUT type="button" value="Delete"  onclick="fnDeletePpAppl(237760,776);" />
    </td>
  </tr>

我有这样的我的jQuery:

  <script type="text/javascript"> // JQUERY stuff
    $(document).ready(function(){

  function fnDeletePpAppl(empno, applno) {
    alert('Entering here');
    $("form").get(0).empno.value = empno;
    $("form").get(0).applNo.value = applno;
    $("form").get(0).listPageAction.value = "delete"; 
    $("form").get(0).action.value = "pprelreqlist.do";
    $("form").get(0).submit();

  }

});

这似乎不起作用,我认为这意味着仅在dom准备就绪后功能才可用。 准备好dom并单击按钮后,为什么不识别.ready()函数中的函数声明? 但是,如果我直接使用该功能:

  <script type="text/javascript">

  function fnDeletePpAppl(empno, applno) {
    alert('Entering here');
    $("form").get(0).empno.value = empno;
    $("form").get(0).applNo.value = applno;
    $("form").get(0).listPageAction.value = "delete"; 
    $("form").get(0).action.value = "pprelreqlist.do";
    $("form").get(0).submit();

  }

这可行。 我想在这里弄清楚我的基本原理...如果我不使用.ready()进行声明,那是否意味着我使用的是普通的jscript?

如果我要使用document.ready-常用的jquery声明方式来执行此操作,则我必须对其进行更改以使其起作用?

我知道有很多更好的方法可以做到这一点,例如与按钮绑定等等,但是我想知道为什么这种特殊方法似乎行不通。 谢谢。

干杯。 ķ

通过在ready之外声明函数,您可以在全局范围内声明它,因此DOM声明可以访问它。

否则,如果您在ready内部声明它,那么您将声明一个“ ready ”范围内的“私有”函数-该函数之外的任何内容都看不到该声明。

$(document).ready()用于在DOM准备就绪后执行javascript。 就您而言,您只是在定义一个函数,该函数是dom的一部分,应该在页面渲染时完成。

例如,如果您想在页面首次加载时调用一个函数:

$(document).ready(function() {

   myCoolFunction();

});

您也可以像这样执行$(document).ready():

$(function() {
   myCoolFunction();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM