2017-06-04 64 views
-2

我测试了以下:

<option value=<? echo json_encode($array) ?> > option1 </option>  

<? echo json_encode($array) ?> outputs: ["PG","Kevin Sad","8000","12"] 

当我将它放在一个表格选项值内以通过我的脚本功能来选择

当我点击从脚本提交按钮,下面的函数火灾:

function submit_button(){ 
    var data= player1.options[player1.selectedIndex].value; 
    document.getElementById('print_result').innerHTML = data; 
} 

只有以下是出推杆在div ID =“print_result”内:

["PG","Kevin 

有事与空格字符“”我不能弄清楚..

我预期整个阵列露面具体包括缺失部分:

Sad","8000","12"] 
+3

这有什么好做的与Java和JavaScript(是的,[这是不一样的(https://stackoverflow.com/a/245069)),所以我删除了标签。无论如何,从我记得的属性值应该被引号括起来,比如'value =“...”'或'value ='...''所以试着用'

+0

哇单引号是罪魁祸首!!非常感谢! – wooftime

回答

0

要么你必须转义双引号和/或使用单引号来包含JSON。

查看示例以及它如何影响结果。

let options = document.querySelectorAll('option'); 
 
console.log(options[0].value, options[1].value); 
 
document.getElementById('out').innerHTML = options[1].value;
<option value=["PG","Kevin Sad","8000","12"]> option1 </option> 
 
<option value='["PG","Kevin Sad","8000","12"]'> option2 </option> 
 
<div id="out"></div>