添加两个函数JQuery的结果

时间:2014-02-18 14:16:58

标签: jquery

我在返回两个函数的值并将它们添加到一起时遇到问题。我需要将fruitNum添加到carNum

HTML

<select class="fruit" >
  <option value="1">Apple</option>
  <option value="2">Orange</option>
  <option value="3">Pineapple</option>
  <option value="4">Banana</option>
</select>

<select class="car">
  <option value="1">Volvo</option>
  <option value="2">Saab</option>
  <option value="3">Mercedes</option>
  <option value="4">Audi</option>
</select>

JQuery的

$(function(){

 $('.fruit').change(function(){
    fruitNum = $(this).val();

});

 $('.car').change(function (){
    carNum = $(this).val();

 });

 Something adding both values fruitNum and carNum     
});

感谢您的帮助

的jsfiddle http://jsfiddle.net/szymondzumak/764W9/58/

4 个答案:

答案 0 :(得分:0)

你的脚本中的

$(this)不是选中的选项,它是SELECT输入,所以你必须这样改变你的选择器:

$('.fruit').change(function () {
    alert($(this).find(':selected').val());
    alert($(this).find(':selected').text()) //for content
});

选择控件将伪类:选中添加到当前选定的选项

干杯!

答案 1 :(得分:0)

如果要动态更新值,可以创建一个“回调”函数,每次更改其中一个选项时将触发该函数。通过使用javascript parseInt函数,您可以将所选值转换为整数并执行数学和。

$(function(){

 $('.fruit').change(function(){
    fruitNum = $(this).val();
    clback();
});

 $('.car').change(function (){
    carNum = $(this).val();
    clback();
 });
//callback function that performs the add
    function clback(){
     result = parseInt($('.car').val()) + parseInt($('.fruit').val());
     console.log(result);
    }
});

这是JSFiddle

答案 2 :(得分:0)

$(function(){
var fruitNum, carNum, sum; //you have to declare variables

 $('.fruit').change(function(){
    fruitNum = $(this).val();

});

 $('.car').change(function (){
    carNum = $(this).val();

 });

 function getFruitAndCarSum(){ 
    return fruitNum + carNum;
 };
});

通过致电getFruitAndCarSum(),你应该得到你想要的东西。

答案 3 :(得分:0)

怎么样:

function addSelects()
{
    return parseInt($('.fruit').val()) + parseInt($('.car').val());
}

如果您需要在选择更改时调用此函数,请在事件侦听器上调用它

$('.fruit').change(function()
{
    console.log(addSelects());
}

$('.car')

相同