簡體   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