2012-11-07 75 views
1

這可能是一個簡單的jQuery/js問題,但我是一個新手,並且可以使用一些幫助 。for循環中的jQuery onclick()函數

function launchResultViewer(){ 
    var elen =$MP.data.REG_AS_RS.ASSIGNEE.length; 

    for (i = 0 ; i < elen ; i++) 
     {var dEventid = $MP.data.REG_AS_RS.ASSIGNEE[i].EVENT_ID; 

     var objPVViewerMPage = window.external.DiscernObjectFactory("PVVIEWERMPAGE"); objPVViewerMPage.CreateProcViewer(patientId); 
     objPVViewerMPage.AppendProcEvent(dEventid); 
     objPVViewerMPage.LaunchProcViewer(); } } 

function OnClickForm(){ 

    var xlen =$MP.data.REG_AS_RS.ASSIGNEE.length; 

    for (i = 0 ; i < xlen ; i++){ 
     var dOrderid = $MP.data.REG_AS_RS.ASSIGNEE[i].ORDER_ID; 
     <a href='#'title ="+dOrderid+" onclick='javascript:launchResultViewer(\"" + dOrderid + "\");'>Order</a>" 

     $('#clickme').click(function(){ ,} } 

假設每次點擊鏈接兩個屏幕打開時,「i」中有兩個元素。每個鏈接只應該打開一次,我在點擊功能中缺少什麼?

任何幫助將是偉大的。

回答

1

你的第一個問題是你的js內聯。獲取onclick錨點的rif,這就是#click me事件偵聽器的用途。在點擊我的功能,把你想要它做的任何行動,並擺脫所有其他錨,你的代碼不完全充分,因爲你有一個空的函數在底部,但我幾乎可以打賭你是調用相同功能兩次。

變化

訂購

訂購

(你將不得不CSS它,使之具有錨行爲)

<script> 
$('#clickme').click(function(){ 
    launchResultViewer(\"" + dOrderid + "\"); 
}); 
</script> 
+0

感謝您的答覆...如果我使用你描述的功能,我得到一個錯誤無效的字符。所以,你的意思是擺脫好,如果是這樣的話,我不知道我知道如何通過CSS重新創建。我不相信即時調用這個函數兩次。 –

+0

這仍然表現錯誤。每次我打開一個鏈接,可能會有多個orderid,我會得到兩個警報。我需要找出區分每個鏈接的orderid。我相信這是我的問題所在。另外它不喜歡當我在我的函數中添加我的orderid時 - var dOrderid = $ MP.data.REG_AS_RS.ASSIGNEE [i] .ORDER_ID;我收到一個錯誤。但我認爲我們正在仔細研究爲什麼這不起作用。 –