2015-03-25 81 views
0

我得到了一個腳本,它使用在PHP中創建的數組並將其編碼爲JSON。然後,它把字符串並用它來爲我創建了一個元素設置的值:使用JQuery打印PHP字符串

var val =""; 
if(arr != null) 
{ 
if((arr[i] != undefined) && (arr[i]["value"] != undefined)) 
{ 
    var val = JSON.stringify(arr[i]["value"]); 
    val.replace(/"/g , ""); 
} 
} 
cell.innerHTML = "<input type='text' value='"+val+"' style='padding-right: 0px;'/>"; 

的問題是,在屏幕上每一個字符串出現的「」字符串本身周圍。例如「5」。我希望它只是5而不是「5」。我認爲我對val做的替換應該是這樣做的,但它不起作用。這是爲什麼?

+1

請顯示您的json值嗎? – 2015-03-25 12:54:15

+1

不使用'JSON.stringify',只是使用'arr [i] [「value」]' – charlietfl 2015-03-25 12:54:18

+0

@charlietfl如果我不使用stringify,那麼打印的是Object.object或類似的東西 – 2015-03-25 12:57:13

回答

0

確定問題只是我一直忘記的東西。

val.replace(/"/g , "");缺少它的魔力,應該是:

val = val.replace(/"/g , ""); 

我要離開的問題,以便其他人也許能看到如何JSON字符串解碼,以及如何使用數組這是在PHP中創建。

+0

中的一些示例數據創建演示這聽起來像是一種解決方法,而不是解決了實際問題。行情不會神奇地出現。 – CBroe 2015-03-25 14:45:19

+0

我相信他們出現是因爲JSON編碼不是嗎? – 2015-03-25 16:07:01

+0

不,JSON中的引號是_syntax_的一部分,而不是_data_。如果在解碼JSON後,你有不需要的引號,那麼你必須首先將它們放在某處。 – CBroe 2015-03-25 16:21:44