我有几个 JavaScript 数组:
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“选择”框中的“值”的名称。换句话说,我看到的 'length' 值为 14('someMotionToys' 中的字母数),但我需要 'length' 为 4,即我的 'someMotionToys' 数组中的元素数。我需要将 HTML 选择框中的这个“值”“连接”到我的数组。我想将我的数组名称存储在选择框中的“值”字段中,然后在 onchange 处理程序中轻松提取“值”并快速引用正确的数组。
如何“强制”从 HTML“选择”中的值中获取的文本字符串,以便将其映射到我的数组名称?
我需要在我的网页上的几个“选择”中存储数组名称——我的计划是将数组名称存储在“选择”框中每个选项的“值”中。
我怎样才能使这项工作?顺便说一句,我没有使用 jQuery 的计划。