2010-03-03 73 views
0

我對jQuery來說很新穎。jQuery UI問題。如何將參數傳遞給函數

如何將參數傳遞給函數? 我發現了一些jQueryUI的演示,除了「查看」鏈接,我得到它的工作。

我有一個傳遞參數並在模態彈出窗口中顯示它們的問題。

我在頁面上有「創建新用戶」按鈕和「查看」鏈接。點擊「創建新用戶」會傳遞參數並在模態彈出窗口中顯示它們。 (「12345」用戶ID文本框,「約翰·斯塔克斯」在用戶名文本框)

$(function() { 
... 
    //Create New User button 
    $('#create-user') 
     .button() 
     .click( 
      function() { 
       $('#dialog-form').dialog('open'); 
       userId.val('12345'); 
       userName.val('John Starks'); 
      } 
     ); 
}); 

但是,「查看」鏈接不工作...點擊「查看」鏈接做彈出沒有模態窗口值(用戶名和用戶名)

function doView(idP, nameP) 
{ 
    $('#dialog-form2').dialog('open'); 
    userId.val(idP); 
    userName.val(nameP); 
} 

<a href="#" OnClick="doView('001','John Doe');" >view</a> 
... 

如何將參數傳遞給模態窗口?

在此先感謝。

+0

哇!你可以削減到涉及的代碼? – 2010-03-03 12:51:00

+1

另外,它怎麼不工作?它做什麼/不做? – 2010-03-03 12:53:07

+0

你會得到任何錯誤? – 2010-03-03 13:01:19

回答

0

ajax()方法在jquery docs中描述得很好。它僅接受一個參數,即設置數組/對象,包括設置的鍵值對。該文檔的

一個例子如下:

$.ajax({ 
    url: 'ajax/test.html', 
    success: function(data) { 
    $('.result').html(data); 
    alert('Load was performed.'); 
    } 
}); 

在源代碼中調用(在最高層)缺少一個「url'設定,因此該方法不知道要查詢的網址。您可以通過以下方式(只是一個例子)ajax的參數添加到您的來電:

url: 'ajax/test.php', 
    type: "GET", 
    data: ({id : idP, name : nameP}), 

所有代碼untestet,但應該澄清事情有點:-)

編輯:我剛纔看到你調用你的視圖方法的ID和名稱集,那麼爲什麼你想要做一個Ajax調用?回收更多信息?然後你可以使用上面的代碼並添加更多的參數。

如果你只是想利用這兩個參數,並顯示他們的對話中,下面應該是足夠的(你已經有了擺在首位):

function doView(idP, nameP) 
{ 
    $('#dialog-form2').dialog('open'); 
    userId.val(idP); 
    userName.val(nameP); 
} 

編輯

了重寫doView的方式如下:

function doView(idP, nameP) 
{ 
    $('#dialog-form2').dialog({ modal: true }); 
    userId.val(idP); 
    userName.val(nameP); 
} 

使用它和以前一樣。

+0

(這不是Patrick,是jiji40。) – 2010-03-03 13:05:10

+0

感謝您的回答。 我現在明白如何使用「url」,「type」,「data」來傳遞參數。 如果我想打開一個帶參數的模態對話窗口,它的工作原理是否一樣? 也,只是調用funciton「doView」沒有傳遞參數... – jiji40 2010-03-09 00:50:05