如何根据选择选项访问变量的值?

时间:2017-09-19 22:35:50

标签: javascript jquery

我有一个SELECT选项,根据所选的值,我想更改变量NumberHoliday的值。

如何在另一个函数中访问变量的值?

var NumberHoliday;
var finalTotal;

$(function() {
  $(document).on("change", "#deptType", function(e) {
      var totalValue = $('#deptType').val();

      if(totalValue == "Fraud"){
         NumberWeekValueFraud();

      }else{
       NumberWeekValueOther();
      }

  });
});

function NumberWeekValueFraud(){
  var NumberHoliday = 25.00;
  $('#totalDays2').val(NumberHoliday);
  return NumberHoliday;
}

function NumberWeekValueOther(){
  var NumberHoliday = 50.00;
  $('#totalDays2').val(NumberHoliday);
  return NumberHoliday;
}

function CountTotal(el){
   if(el.checked) {
       //use NumberHoliday here once checkbox is check,  depending on the select option value
}

3 个答案:

答案 0 :(得分:1)

您可以将该功能传递给功能

function CountTotal(el, fnValue){
   if (el.checked) {
   // do stuff with `fnValue`
   }
}

CountTotal(/* el */, NumberWeekValueFraud());

CountTotal(/* el */, NumberWeekValueOther());

答案 1 :(得分:0)

一种解决方法是使变量成为全局变量。 另一种解决方法是编写一个单独的函数,以便在函数内返回变量的值并调用它。 另一种解决方法是在函数式编程语言中传递函数。

答案 2 :(得分:0)

您的变量NumberHoliday是一个全局变量,因此您可以通过以下方式直接从函数中访问它:

var NumberHoliday = 0;
var finalTotal = 0;

$(function() {
  $(document).on("change", "#deptType", function(e) {
  var totalValue = $('#deptType').val();


       if(totalValue == "Fraud"){
          NumberWeekValueFraud();

       }else{
        NumberWeekValueOther();
       }


});

  });

function NumberWeekValueFraud(){
  NumberHoliday += 25.00;
  $('#totalDays2').val(NumberHoliday);
}



function NumberWeekValueOther(){
  NumberHoliday += 50.00;
  $('#totalDays2').val(NumberHoliday);
}



function CountTotal(el){
   if(el.checked) {
    console.log("Total: " + NumberHoliday);
       //use NumberHoliday here once checkbox is check,  depending on the select option value
       }
}