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

时间:2010-03-03 09:42:04

标签: jquery user-interface

我是jQuery的新手。

如何将参数传递给函数? 我找到了一些jQueryUI演示,除了“view”链接我才能使用它。

我遇到了将参数传递给模态弹出窗口并在模态弹出窗口中显示的问题。

我在页面上有“创建新用户”按钮和“查看”链接。单击“创建新用户”会传递参数并在模态弹出窗口中显示它们。 (用户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 个答案:

答案 0 :(得分: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,但它应该澄清一点: - )

编辑:我刚看到你正在调用你的view-method设置了id和name,那你为什么要进行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);
}

以与以前相同的方式使用它。