使用Jquery从ASP.NET中具有母版页的父窗体获取基于Iframe的UI对话框中的值

时间:2011-09-12 15:51:39

标签: jquery asp.net jquery-ui

我在asp.net中有一个基于母版页的用户输入表单。当用户单击某个按钮时,它会在iframe中打开Jquery ui对话框弹出窗口。我必须访问父条目表单的文本框的值,并在弹出窗口中预填充。

按钮点击参赛表格

 $(function () {
 $("input[id$='btnTccDetails']").click(function (e) {
                e.preventDefault();
                var $this = $(this);
                var horizontalPadding = 30;
                var verticalPadding = 30;
                $('<iframe id="externalSite" class="externalSite" src="' + 'tccDetails.aspx?action=ADD' + '" />').dialog({
                    title: ($this.attr('title')) ? $this.attr('title') : 'TCC Details',
                    autoOpen: true,
                    width: 1200,
                    height: 600,
                    modal: true,
                    resizable: true,
                    autoResize: true,
                    overlay: {
                        opacity: 0.5,
                        background: "black"
                    },
                    open: function (type, data) { $(this).parent().appendTo("form"); }
                }).width(1200 - horizontalPadding).height(600 - verticalPadding);

            }); 


        });   //end of function()

//弹出Javascript

我能够使用常规的JavaScript。 var tag = window.parent.document.forms [0] .ctl00_MainContentHolder_txtTag.value;

我需要在Jquery中这样做。我试过这个

   var tag = window.parent.jQuery('#txtTag').val();

这不起作用。

我试着在这里搜索所有相关的帖子而没有太多运气。

**解决方案:

var tag = $("input[id$='txtTag']", window.parent.document).val();**

1 个答案:

答案 0 :(得分:1)

要实现这一点,您需要指定选择器的上下文,如下所示:

$('#txtTag', window.parent.document).val();

(来自JQuery文档)

  

默认情况下,选择器在DOM开始时执行搜索   在文档根目录。但是,可以给出替代上下文   使用可选的第二个参数到$()函数进行搜索。

使用第二个参数,您可以传入JQuery将在其中搜索输入元素的父文档。

希望这有帮助。