我有我的想法,我想通過使用函數參數和對象來實現,但它不能按預期工作。Javascript object and parameters reference from the HTML
首先HTML代碼:
<!DOCTYPE html>
<html>
<head>
<title>Main</title>
<script type="text/javascript" src="scripting.js"></script>
</head>
<body>
<div >
<form id='radio'>
<input type="radio" name="choice" onClick="text(this.value)" value="list">
<input type="radio" name="choice" onClick="text(this.value)" value="box"></form>
<h1 id="title">" "</h1>
<p id="description"></p>
</div>
</body>
</html>
這是很簡單的,我會用單選按鈕的值作爲我的javascript text()函數的參數。
這裏是我的JavaScript代碼:
var choices = document.getElementsByName('choice');
var list = { a : 1 , b : 'Hi' };
var box = { a : 2, b : 'Hello'};
function text(choice) {
var i;
for (i = 0; i < choices.length; i += 1)
{
if(choices[i].checked)
{
document.getElementById('title').innerHTML = choice["a"];
document.getElementById('description').innerHTML = choice["b"];
}
}
}
我已經創建了兩個對象具有相同的名稱從HTML代碼的單選按鈕。接下來,在我的函數中做了一個for循環來檢查單擊哪個單選按鈕。根據公式,標題和段落標籤應該在各自的標籤中顯示對象內容。當我只是輸入參數作爲普通值時,它會打印出單選按鈕的值。但是,我使用該參數作爲對象變量的引用。示例:
function parameter choice = "list";
document.getElementById('title').innerHTML = choice["a"];
而不是獲取顯示的值。結果我得到「未定義」。
有人可以幫忙嗎?
選擇是一個字符串,所以只需使用'... = choice;' – Ibu
已經嘗試過。同樣的結果 –