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

问题描述 投票:0回答:1

我对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> 
... 

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

提前感谢。

jquery user-interface
1个回答
0
投票

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);
}

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

© www.soinside.com 2019 - 2024. All rights reserved.