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() 的帮助函数仅克隆一次