我有一个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
}
答案 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
}
}