jquery输入值未定义

时间:2015-11-13 08:30:31

标签: javascript jquery

Javascript值和jQuery val()keyup事件中返回undefined。可变货币是select输入,我想要convertCash函数中的值 我的代码示例如下:

    var currenciesData = <?php echo $this->currencies;?>;
    var currency = $('#depositCurrencySelect');
    var deposit = $('#depositCashEndInput');
    var cashInput = $('#depositCashInput');

    currency.change(function() {
        convertCash(this, deposit);
    }); 
   //There is the event
    cashInput.keyup(function() {
        convertCash(currency, deposit);
    });

   var convertCash = function(element, elementToChange) {
       console.log(element);
       console.log('value ' + element.value);
        switch(element.value) {
            case 'USD':
                elementToChange.val(parseFloat(cashInput.val() / currenciesData['USD'], 8).toFixed(8));
                break;
            case 'EUR':
                elementToChange.val(parseFloat(cashInput.val() / currenciesData['EUR'], 8).toFixed(8));
                break;
            case 'GBP':
                elementToChange.val(parseFloat(cashInput.val() / currenciesData['GBP'], 8).toFixed(8));
                break;
            case 'BTC':
                elementToChange.val(parseFloat(cashInput.val()));
                break;
        }
   };

谢谢!

1 个答案:

答案 0 :(得分:0)

您要求valueselect元素。但实际需要的是所选option元素的值。

所以使用

switch(element.options[element.selectedIndex].value)

而不是

switch(element.value)

请注意,option元素的值不一定与文本相同。如果你想要文本,只需使用

switch(element.options[element.selectedIndex].text)

使用jquery,您可以使用

switch(element.val())

或者,如果您需要文字,

switch(element.find(":selected").text() )