2

私は Javascript/JQuery に非常に慣れていないため、問題が発生しています。私がやろうとしているのは、2 つのドロップダウン メニュー (製品と通貨の種類) に基づいて入力フィールドに値を入力することです。さまざまなことを試してみましたが、まったくうまくいくものはないようです。

http://jsfiddle.net/uxjvE/5/

var cur = {
   GBP: ['£20', '£55', '£64', '£90', '£100', '£65', '£75', '£100', '£135', '£255', '£260'],
   EUR: ['€24', '€65', '€76', '€107', '€119', '€77', '€89', '€119', '€160', '€302', '€308'],
   USD:['$85', '$85', '$99', '$139', '$155', '$100', '$116', '$155', '$209', '$394', '$402']
}

$(document).ready(function() {
    $('.visaType').change(function() {



    }).change(); 
});

他の同様の質問を見ましたが、これを正しく機能させることができませんでした。どんな助けでも大歓迎です。

ありがとう、

マーク

4

3 に答える 3

1

おそらく、<select>オプションのいずれかが変更されたときに価格を更新する必要があります。

$('#visaType, #currency-choice').change(function() {    

   var currencyType = $('#currency-choice').val();
   var price = $('option:selected', '#visaType').index();

   $('#business-visa-amount').val(cur[currencyType][price]);   

}).change(); 

ここにフィドルがあります

于 2013-05-28T10:48:50.677 に答える
0
    $('#visaType').change(function() { 
        var selectedoption = this.selectedIndex;
        var currency = $('#currency-choice').val();         
        $('#business-visa-amount').val( cur[currency][selectedoption]);

    }); 
于 2013-05-28T12:15:41.860 に答える
0
var cur = {
    GBP: ['£20', '£55', '£64', '£90', '£100', '£65', '£75', '£100', '£135', '£255', '£260'],
    EUR: ['€24', '€65', '€76', '€107', '€119', '€77', '€89', '€119', '€160', '€302', '€308'],
    USD: ['$85', '$85', '$99', '$139', '$155', '$100', '$116', '$155', '$209', '$394', '$402']
}

$(document).ready(function () {
    $('#visaType').change(function () {

        var currencyValue = $('#currency-choice').val();

        $('#business-visa-amount').val(cur[currencyValue][this.selectedIndex]);

    }).change();
});

フィドル - http://jsfiddle.net/uxjvE/26/

説明

cur[currencyValue][this.selectedIndex]

cur は、GBP、USD、EUR の 3 つの配列を保持するオブジェクトです。

currencyValue は、選択した通貨を取得します。つまり、またはまたはcur[currencyValue]と同じです。cur.USDcur.EURcur.GBP

this.selectedIndex選択に基づいて、選択したオプションのインデックスを 0 から (長さ-1) まで取得します。ここで、配列内の同じインデックスが表示する量であると想定しています。

于 2013-05-28T10:42:08.623 に答える