我有一對夫婦JavaScript數組:需要使用HTML的「值」中,選擇「選項」作爲數組名
var someMotionToys = ["cars", "bikes", "surfboards", "skis"];
var immobileToys = ["xbox", "guitar", "paintbrush", "laptop", "crossword puzzles"];
var rareToys = ["ironmaiden", "pogostick", "lawndarts"];
我有一個HTML「選擇」標記,如下所示:
<select id="toys" onchange="handleToysChoice(this)">
<option value="someMotionToys">toys in motion</option>
<option value="immobileToys">toys for inside</option>
<option value="rareToys">antique toys</option>
</select>
我在這裏處理的onchange JavaScript函數:
function handleToysChoice(theToysSelector)
{
var theToySelection = theToysSelector.value;
// AT THIS POINT -- assume the user selected 'toys in motion'
// so 'theToySelection' here is "someMotionToys" -- that is *also*
// the name of my array -- but the following tells me it's not
// referencing the array:
alert("The number of elements in the array " + theToySelection
+ " is: " + theToySelection.length);
}
的「長度」值我得到的是這個詞的長度「someMotionToys」其中,儘管是我數組的名字,也是html'select'框中'value'的名字。換句話說,我看到的'length'值是14('someMotionToys'中的字母數),但是我需要'length'爲4,即'someMotionToys'數組中元素的數量。我需要HTML選擇框中的「值」連接到我的數組。我想將我的數組名稱存儲在選擇框中的「值」字段中,然後在onchange處理程序中輕鬆提取「值」並快速引用正確的數組。
我如何'強迫'我從一個值的HTML'select'中獲得的文本字符串,以便它映射到我的數組名稱?
我需要在我的網頁上的幾個「選擇」中存儲數組名稱 - 我的計劃是將數組名稱存儲在「選擇」框中每個選項的「值」中。
我該如何做這項工作?我有沒有計劃順便使用jQuery。
嘗試'var theToySelection = eval(theToySelector.value)',我想這會返回你的數組 – slash197
@ slash197 - 謝謝!這解決了我的問題 - 這很有效。我現在可以將我的數組名稱存儲在我的選擇框中 - 很好。謝謝。 – CFHcoder