jquery - 在 jQuery 中从变量设置变量名称

标签 jquery

我在网站上使用多个选择框,并使用每个选择框中的 id 来选择 :selected val 并将其设置为变量。您将看到下面随机选择的 3 个,而我坚持将单词 val 添加到设置多个变量的新方法中。

之前

var maptypecontrolval       = $('#maptypecontrol>option:selected').val();
var pancontrolval       = $('#pancontrol>option:selected').val();
var clickzoomcontrolval     = $('#clickzoomcontrol>option:selected').val();

之后

$(".settings select").each(function(){
    var id = $(this).attr('id');
    console.log(id);
});

最佳答案

我不会将每个选项作为单独的变量,而是创建一个对象来存储所有变量值。

var appOptions = { };

$(".settings select").each(function() {
  var id = $(this).prop('id');
  appOptions[id] = $(this).val();
});

如果您忘记在选择器中的选择元素上放置 id,则此方法存在变得不可预测的风险,因此您可能需要添加一些验证:

if (!id) throw 'select without id';

顺便说一句:您从代码中的 attr() 获取了 id 值。您应该使用 prop()http://api.jquery.com/prop/

关于jquery - 在 jQuery 中从变量设置变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19892863/

相关文章:

javascript - 从 AJAX 成功函数更新图像源

javascript - 上传大图像文件时 Ajax 响应为空

javascript - 我该如何解决重新加载这些图像的问题?

javascript - 使 div 仅与父级一样长

JQuery 对话框 : Show Message in Dialog Box After Selecting Confirm Option

javascript - 从文本中获取第一个单词并在单击时将其添加到输入值

javascript - 在 jQuery 中使用 next() x 次

Javascript - 添加事件监听器时未定义的数组元素

jquery - 在文本中间自动完成(如 Google Plus)

php - 如何将 PHP session 变量传递给 Javascript/jQuery 函数?