jQuery UI 问题。如何将参数传递给函数

Posted

技术标签:

【中文标题】jQuery UI 问题。如何将参数传递给函数【英文标题】:jQuery UI Question. How to pass parameters to a function 【发布时间】:2011-01-23 03:02:45 【问题描述】:

我对 jQuery 很陌生。

如何将参数传递给函数? 我找到了一些 jQueryUI 演示,并且除了“查看”链接之外我都可以使用它。

我在传递参数并在模式弹出窗口中显示它们时遇到问题。

我在页面上有“创建新用户”按钮和“查看”链接。单击“创建新用户”确实会传递参数并在模式弹出窗口中显示它们。 (用户 ID 文本框中的“12345”,用户名文本框中的“John Starks”)

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

但是,“查看”链接不起作用...单击“查看”链接会弹出模式窗口,文本框中没有值(用户 ID 和用户名)

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

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

如何将参数传递给模态窗口?

提前致谢。

【问题讨论】:

哇!你能把它减少到所涉及的代码吗? 另外,它怎么不起作用?它做什么/不做什么? 【参考方案1】:

ajax() 方法在jquery docs 中有很好的描述。它只接受一个参数,即设置数组/对象,包括设置的键值对。

文档的一个例子如下:

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

源代码中的调用(在最顶部)缺少“url”设置,因此该方法无法知道要查询哪个 url。您可以通过以下方式将 ajax 参数添加到您的调用中(仅作为示例):

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

所有代码都未经测试,但应该稍微澄清一下:-)

编辑:我刚刚看到您正在调用设置了 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);

和以前一样使用它。

【讨论】:

感谢您的回答。我现在了解如何使用“url”、“type”、“data”传递参数。如果我想打开一个带参数的模态对话框窗口,它的工作原理是一样的吗?另外,只是调用函数“doView”并没有传递参数......

以上是关于jQuery UI 问题。如何将参数传递给函数的主要内容,如果未能解决你的问题,请参考以下文章

JQuery UI Draggable - 如果参数传递给 clone(),则返回 clone() 的帮助函数仅克隆一次

如何使用 jquery 将可变参数传递给匿名函数?

如何将参数传递给 jQuery document.ready() 函数(ASP.NET MVC、C#)

将参数传递给 JQuery 函数

如何将函数传递给jquery ui选项卡的活动选项?

获取将参数传递给jquery中当前函数的函数名称[重复]