在变量中设置jQuery中的变量名

时间:2013-11-10 17:39:43

标签: 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);
});

2 个答案:

答案 0 :(得分:1)

您可以使用arrayobject

试试这个:

var ary = [];
$(".settings select").each(function(){
    var obj = {};
    obj.id = $(this).attr('id');
    obj.val = $(this).find('option:selected').val();
    ary.push(obj);
});
console.log(ary);

ary将包含包含ID和值的对象。

答案 1 :(得分:1)

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

var appOptions = { };

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

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

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

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