将数据传递给jqueryUI对话框

时间:2011-06-26 23:50:43

标签: javascript jquery jquery-ui dialog

对于我正在开发的web-app,我需要将当前用户传递给jqueryUI对话框。现在,我正在尝试简单的例子来达到这一点。 我正在尝试从父页面传递“p”标记的内容,以显示在jqueryUI对话框中。

$(document).ready(function(){
    $('#test').each(function() {
        var $link = $(this);
        var $dialog = $('<div></div>')
            .data('test',$("test_p"))
            .load($link.attr('href') + ' #content')
            .dialog({
                modal: true,
                autoOpen: false,
                title: $link.attr('title'),
                width: 500,
                height: 300
            });
        $link.click(function() {
            $dialog.dialog('open');
            return false;
        });
    });

这里,test_p是我要发送到对话框的p标签。我正在显示HTML文件中的“content”div -

<html>
<head>
<title>Add link</title>
<body>
    <div id="content">
                    <!-- CONTENT OF <P> FROM THE CALLER PAGE -->
        <form id="info" method="POST" action="/">
            Link : <input type=text name="thelink"/><br>
            tag : <input type=text name="thetags"/><br>
            <input type=submit name='submit' value="submit"/>
        </form>

    </div>
</body>

我想要这样,p标签的内容显示在对话框中。

.data()是这样做的吗?或者有更好的方法吗?

对不起,如果我有一些错误的术语......我对jquery很新。

2 个答案:

答案 0 :(得分:1)

对话框小部件允许您通过$dialog.html('<p>hello world</p>')设置内容。这是因为对话框是围绕元素而不是元素构建的,因此对话框元素的内容正是实际对话框的内容。

答案 1 :(得分:0)

附加到对话框元素的.data()方法将是传递数据的好方法。您还可以查看jQueryUI对话框小部件的“open”方法,该方法允许您在显示对话框窗口时使用该值并插入或执行其他操作。