javascript - 使用表单字段值作为对 JavaScript 变量的引用

标签 javascript jquery

我正在尝试使用 HTML 表单字段的值来定义我在 JavaScript 函数中使用的变量。我有一个解决方案,但我认为还有更优雅的方法。

我有两个名字数组,男性和女性,我的 HTML 表单有一组两个单选按钮,分别代表男性和女性。在提交时,我这样做:

gender = $("#gender input:checked").val(); //get value of checked button
if (gender == "male" ) {
    name = male[Math.floor(Math.random()*male.length)];
} else {
    name = female[Math.floor(Math.random()*female.length)];
}
$("#result").html(name);

我的解决方案是 if-else,但我想知道是否可以将性别值转换为对同名变量的引用。然后我可以用这样的东西替换 if-else:

name = gender[Math.floor(Math.random()*gender.length)];

我很想听听您的想法。谢谢!

最佳答案

您可以将性别放入一个对象中:

var genderData = {
   male: [ ... ]
   female: [ ... ]
}

然后使用以下语法:

genderData[gender][Math.floor(Math.random() * genderData[gender].length)]

您还可以稍微简化它以使其更具可读性:

var gd = genderData[gender];
name = gd[Math.floor(Math.random() * gd.length)];

关于javascript - 使用表单字段值作为对 JavaScript 变量的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11438220/

相关文章:

javascript - 如何构建一个 JavaScript 库?

javascript - 如何处理对不存在的路由的请求

javascript - 按钮未在 Bootstrap 弹出窗口内触发

javascript - 更新模块模式中的变量

javascript - 我如何在 javascript 或 jquery 中按维度对图像进行排序

javascript - 如何使用 jquery 验证来验证可用性?

php - 保护 public_html 中的文件夹

javascript - Galleria slider 从左-右到上-下

javascript - 如何从 JSON 对象中仅获取第一个值

javascript - 找到匹配的单词并在它们下划线 - 但只是单词