2

我在我的网站上使用了多个选择框,并使用id每个选择框来选择:selectedval 并将其设置为变量。您将在下面看到随机选择的 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);
});
4

2 回答 2

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 和值的对象。

于 2013-11-10T17:46:51.607 回答
1

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

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/

于 2013-11-10T17:46:51.823 回答