我正在尝试使用 JavaScript 和 HTML 表单元素填充和解析数组。以下测试产生预期结果(“Test1 Test2 Test3”呈现在目标 div 中)。这是工作测试代码:
<div>
<span id="put-stuff-here"></span>
<span id="put-stuff-here2"></span>
<span id="put-stuff-here3"></span>
</div>
<script type="text/javascript">
var itemSelected = { 'fields': [ 'Test1', 'Test2', 'Test3' ] }
document.getElementById('put-stuff-here').innerHTML = itemSelected.fields[0];
document.getElementById('put-stuff-here2').innerHTML = itemSelected.fields[1];
document.getElementById('put-stuff-here3').innerHTML = itemSelected.fields[2];
})
</script>
但是,当我尝试使用表单字段定义变量“itemSelected”时,目标 div 中没有呈现任何内容。这是非工作代码:
<div>
<form>
<select id="getItem">
<option value="{ 'fields': [ 'Test1', 'Test2', 'Test3' ] }">ItemName</option>
<option value="{ 'fields': [ 'Test4', 'Test5', 'Test6' ] }">ItemName2</option>
</select>
</form>
</div>
<div>
<span id="put-stuff-here"></span>
<span id="put-stuff-here2"></span>
<span id="put-stuff-here3"></span>
</div>
<script type="text/javascript">
$("#getItem").change(function () {
var itemSelected = $(this).val();
document.getElementById('put-stuff-here').innerHTML = itemSelected.fields[0];
document.getElementById('put-stuff-here2').innerHTML = itemSelected.fields[1];
document.getElementById('put-stuff-here3').innerHTML = itemSelected.fields[2];
})
.change();
</script>
由于某种原因,传递给“itemSelected”的值不会作为数组处理。我希望这里的人会好心看看,也许会提出一个解决方案。
谢谢,
-迈克尔