我在我的网站上使用多个选择框,并从每个选择框中使用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/

10-06 04:23
查看更多