将值传递给jquery对话框

时间:2013-07-16 06:25:25

标签: jquery

我想将值传递给jquery对话框。由于多种原因,该页面位于iFrame中。该过程首先从iframe中的页面触发此函数:

<Tr onclick="fireOpen1(true,myValue)">

这是函数(在iframe页面中):

function fireOpen1(redirect,theValue) {
//here are two of the ways I have tried tp pass the value, neither work
parent.document.getElementById('theID').value = theValue;
parent.document.theForm('theID').value = theValue;
parent.openDialog1();
if (redirect) {
   //do a redirect of the parent here
     window.location.href = "left.asp";
}
}

调用父页面上的开启者:

function openDialog1() { // called by the inner iframe
$('#dialog1').dialog({
show: "fold",
hide: "explode",
width: 600,
height: 200,
buttons: {
    Close: function () {
        $(this).dialog("close");
    }
}
});
}

这是我的div与对话框的内容:

<div id="dialog1" > 
   <form name="theForm" action="frames.asp" method="post">
 <input type="hidden" name="theID" value="0">
</form>
 the id is <%= request.form("theID") %> ...
</div>

对话框显示没问题,但我的值不可用。我怎样才能传递这个值。我使用这种方法的原因是因为我想从开启器中分离对话框,以便在开启器重定向时它可以保留在那里。谢谢你

2 个答案:

答案 0 :(得分:1)

您错过了input field

中的 ID
<input type="hidden" name="theID" value="0">

应该是

<input type="hidden" name="theID" id="theID" value="0">

答案 1 :(得分:0)

您可以在parent.$('#dialog1').data('v', myValue);之前执行parent.openDialog1();,然后在对话open event中访问var v = $('#dialog1').data('v');