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

arrayとを使用できますobject

これを試して:

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);

aryID と値を含むオブジェクトが含まれます。

于 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 に答える