この質問のために、これは私が持っている問題の簡略版です。選択値に基づいて関数に変数を渡すにはどうすればよいですか?
私はHTMLで<select>
をお持ちの場合:
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
その後、私のJS:上記のコードで
var a,b = 12;
var c1,d1,e1,
c2,d2,e2,
c3,d3,e3,
c4,d4,e4,
c5,d5,e5,
c6,d6,e6 = // Assigned individually from loop. NOT actual code.
function myFunction(a,b,c,d,e){
// do something with a,b,c,d,e
}
$('select').on('change', function() {
var id = $(this).val();
c = c+id;
d = d+id;
e = e+id;
myFunction(a, b, c, d, e);
}
私はオプション3を選択した場合、私は、関数、変数のC3を渡したいです、d3、e3。
渡される変数にidから '3'を割り当てるにはどうすればよいですか?このコードの選択部分で何が問題になっていますか?
助けてください。ありがとう。
質問#2:私はあなたが提案した方法でオブジェクトの配列を構築する場合はデビッドの答え
@に続いて。
destinations = [
{id:'123', title:'London', lat:'1.52121' , lng:'-1.3423423', content:'a string'},
{id:'456', title:'Paris', lat:'1.52121' , lng:'-1.3423423', content:'a string'},
{id:'634', title:'Amsterdam', lat:'1.52121' , lng:'-1.3423423', content:'a string'}
]
私はその配列を反復処理し、各オブジェクトにGoogleマップのマーカーのための変数を作成したい場合、どのように私
$.each(destinations, function(i, ob) {
$.each(ob, function (key, value) {
var marker[ob.id] = new google.maps.Marker({
draggable: false,
map: map,
icon: dotMarker,
position: {lat: ob.lat, lng: ob.lng}
});
});
まず、私がいないすべてのそれらの個々の変数、すべてのそれらの値を保持するために、配列やオブジェクトを使用することになり – DelightedD0D
、より賢明なデータ構造は、ここを呼びかけているようです。 'c'、' d'、 'e'はオブジェクトを形成するように見えますが、それらのオブジェクトの配列が必要です。次に、その配列から3番目の要素が必要になります。 – David
これは、https://jsfiddle.net/otmegmnu/ –