2011-04-25 69 views
1

在我的父窗口,我有一个列表:从弹出窗口填充无序列表到主窗口 - JavaScript的

<span id="r_doc_span"> 
<ul id="r_docs"> 
<li> 
<input id="r_doctor" type="hidden" name="r_doctor" size="40" value="<%=rd%>"> 
<input id="r_doctor_ohip" type="hidden" name="r_doctor_ohip" size="20" value=<%=rdohip%>> 
</li> 
</ul></tr> 

我想填充从弹出窗口此列表。我有2个JavaScript函数用于此目的:

function addRefDoc(){ 
    <% prop = (Properties) vec.get(i1); 
    String ref_no = prop.getProperty("referral_no",""); 
    String ref_name = (prop.getProperty("last_name", "")+ ","+prop.getProperty("first_name", "")); %> 
AddOtherRefDoc("<%=ref_name%>", <%=ref_no%>); 
} 

function AddOtherRefDoc(name, number) { 
var remove = "<a href='javascript:void(0) onclick='removeRefDoctor(this)'>remove</a>"; 
var html = "<li>"+name+"<b>, Referral No: </b>"+number+ " " +remove+"</li>"; 
jQuery("#r_docs").append(jQuery(html)); 
} 

但是这段代码没有任何反应。我如何填充我的列表?请帮忙。

+1

'addRefDoc'不是JavaScript。 – 2011-04-25 21:27:24

+0

它内嵌了JSP代码。它是JavaScript。 – Sapphire 2011-04-25 21:33:27

+0

现在你已经编辑过了,是的。原来缺少一些*相当关键的*'<%'/'%>'标签。 ;-) – 2011-04-25 21:37:24

回答

0

正如Matt Ball所说,至少有一个引用的弹出窗口的函数不是JavaScript,看起来更像C#。现在编辑,<%/%>在那里。

从弹出的窗口中,你可以这样父窗口上的访问与id小号元素:

var doctor = window.opener.jQuery('#r_doctor'); 

即得到通过在该窗口中的jQuery对象的父窗口上的参考r_doctor元素。 (子窗口通过window.opener属性获得对其父项的引用。)

这是live example,代码的肉(例如,上面的行)是here in the popup。在那里,我使用了text而不是hidden输入,但这只是让您可以看到发生了什么。

+0

哦,它是脚本。 '/ flee' – 2011-04-25 21:35:10

+0

非常感谢,它的工作! – Sapphire 2011-04-25 22:07:32

+0

@Sapphire:很高兴帮助! – 2011-04-25 22:09:03