簡體   English   中英

單擊錨標記后如何傳遞對象

[英]How can I pass an object on click of anchor Tag

我有一個創建錨標簽的函數,單擊錨標簽后我傳遞了一些參數。 單擊錨標記后如何傳遞對象。

這是我的代碼

var obj = {
  "Name": "USA",
  "id": 1,
  "CON": "NA",
  "VAl": "TS"
}

if (obj.VAl) {
  obj.text = "<a style='color:#0000ff' onClick='openMyData(event," + obj + ")' href='javascript:void(0);'>" + "</a>";
}

但是在單擊時,我得到了Uncaught SyntaxError:意外的標識符調試器未在openMyDataopenMyData 如果我給了像obj.VAl這樣的值,那么它就被觸發了。 任何人都可以幫助我所缺少的。

onclick甚至代碼:

function openMyData(evt, obj){
    var win = window.open('someURL',"","resizable=yes,menubar=no,status=yes,scrollbars=no", fullscreen = "1");
    win.resizeTo(screen.availWidth, screen.availHeight);
    win.moveTo(0, 0);
    win.focus();
}

我希望我的對象在新窗口的范圍內。

你需要像這樣做JSON.stringify(obj)

if (obj.VAl) {
  obj.text = "<a style='color:#0000ff' onClick='openMyData(event,'" + JSON.stringify(obj) + "')' href='javascript:void(0);'>" + "</a>";
}

用引號括起來的JSON.stringify(obj) 然后,您可以在openMyData函數中openMyData進行解析以獲取實際的對象。

function openMyData(evt, obj){
    var win = window.open('someURL?objValue='+ obj,"","resizable=yes,menubar=no,status=yes,scrollbars=no", fullscreen = "1");
    win.resizeTo(screen.availWidth, screen.availHeight);
    win.moveTo(0, 0);
    win.focus();
}

然后,在新窗口中,可以使用objValue參數獲取該值,然后解析該值以獲取整個對象。

您錯過了json變量之間的逗號。

var obj = {
  "Name": "USA",
  "id": 1,
  "CON": "NA",
  "VAl": "TS"
}

if (obj.VAl) {
  obj.text = "<a style='color:#0000ff' onClick='openMyData(event," + obj + ")' href='javascript:void(0);'>" + "</a>";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM