2011-04-25 33 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