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;
}
};
谢谢!
答案 0 :(得分:0)
您要求value
个select
元素。但实际需要的是所选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() )