我在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();**
答案 0 :(得分:1)
要实现这一点,您需要指定选择器的上下文,如下所示:
$('#txtTag', window.parent.document).val();
(来自JQuery文档)
默认情况下,选择器在DOM开始时执行搜索 在文档根目录。但是,可以给出替代上下文 使用可选的第二个参数到$()函数进行搜索。
使用第二个参数,您可以传入JQuery将在其中搜索输入元素的父文档。
希望这有帮助。