我有一堆变量,我想在 js 中检查 > 0
。
这是我的变量(在 Angular 中):
$scope.total_lbs_urea = ($scope.lbs_needed / $scope.urea_n).toFixed(2);
$scope.total_lbs_ammonium = ($scope.lbs_needed / $scope.ammonium_n).toFixed(2);
$scope.total_lbs_calcium = ($scope.lbs_needed / $scope.calcium_n).toFixed(2);
$scope.total_lbs_un32 = ($scope.lbs_needed / $scope.un32_n).toFixed(2);
$scope.total_lbs_can17 = ($scope.lbs_needed / $scope.can17_n).toFixed(2);
$scope.total_lbs_aqua = ($scope.lbs_needed / $scope.aqua_n).toFixed(2);
// weight/gallons variables for gallons of product needed
$scope.total_gal_urea = ($scope.total_lbs_urea / $scope.urea_g).toFixed(2);
$scope.total_gal_ammonium = ($scope.total_lbs_ammonium / $scope.ammonium_g).toFixed(2);
$scope.total_gal_calcium = ($scope.total_lbs_calcium / $scope.calcium_g).toFixed(2);
$scope.total_gal_un32 = ($scope.total_lbs_un32 / $scope.un32_g).toFixed(2);
$scope.total_gal_can17 = ($scope.total_lbs_can17 / $scope.can17_g).toFixed(2);
$scope.total_gal_aqua = ($scope.total_lbs_aqua / $scope.aqua_g).toFixed(2);
// phosophorus variables to get phosphorus needed
$scope.total_p_urea = ($scope.lbs_needed * $scope.urea_p).toFixed(2);
$scope.total_p_ammonium = ($scope.lbs_needed * $scope.ammonium_p).toFixed(2);
$scope.total_p_calcium = ($scope.lbs_needed * $scope.calcium_p).toFixed(2);
$scope.total_p_un32 = ($scope.lbs_needed * $scope.un32_p).toFixed(2);
$scope.total_p_can17 = ($scope.lbs_needed * $scope.can17_p).toFixed(2);
$scope.total_p_aqua = ($scope.lbs_needed * $scope.aqua_p).toFixed(2);
// potassium(k) variables to get potassium(k) needed
$scope.total_k_urea = ($scope.lbs_needed * $scope.urea_k).toFixed(2);
$scope.total_k_ammonium = ($scope.lbs_needed * $scope.ammonium_k).toFixed(2);
$scope.total_k_calcium = ($scope.lbs_needed * $scope.calcium_k).toFixed(2);
$scope.total_k_un32 = ($scope.lbs_needed * $scope.un32_k).toFixed(2);
$scope.total_k_can17 = ($scope.lbs_needed * $scope.can17_k).toFixed(2);
$scope.total_k_aqua = ($scope.lbs_needed * $scope.aqua_k).toFixed(2);
// sulfur variables to get potassium(k) needed
$scope.total_s_urea = ($scope.lbs_needed * $scope.urea_s).toFixed(2);
$scope.total_s_ammonium = ($scope.lbs_needed * $scope.ammonium_s).toFixed(2);
$scope.total_s_calcium = ($scope.lbs_needed * $scope.calcium_s).toFixed(2);
$scope.total_s_un32 = ($scope.lbs_needed * $scope.un32_s).toFixed(2);
$scope.total_s_can17 = ($scope.lbs_needed * $scope.can17_s).toFixed(2);
$scope.total_s_aqua = ($scope.lbs_needed * $scope.aqua_s).toFixed(2);
// calcium variables to get potassium(k) needed
$scope.total_c_urea = ($scope.lbs_needed * $scope.urea_c).toFixed(2);
$scope.total_c_ammonium = ($scope.lbs_needed * $scope.ammonium_c).toFixed(2);
$scope.total_c_calcium = ($scope.lbs_needed * $scope.calcium_c).toFixed(2);
$scope.total_c_un32 = ($scope.lbs_needed * $scope.un32_c).toFixed(2);
$scope.total_c_can17 = ($scope.lbs_needed * $scope.can17_c).toFixed(2);
$scope.total_c_aqua = ($scope.lbs_needed * $scope.aqua_c).toFixed(2);
我想做这样的事情:
if ($scope.[VARIABLE FOR EACH HERE] > 0) {
$scope.isActive = true;
} else {
$scope.isActive = false;
}
知道如何做到这一点吗?
解决方案:
最终只使用了 jQuery...
$( "tr" ).each(function() {
var number = parseInt($(this).find('td').text(), 10);
if (number > 0) {
$(this).find('td').addClass("table-background");
} else {
$(this).find('td').removeClass("table-background");
}
});
最佳答案
我会将对象内的所有这些变量保存到作用域中,如下所示:
$scope.variables = {
total_lbs_urea: ($scope.lbs_needed / $scope.urea_n).toFixed(2),
$scope.total_lbs_ammonium: ($scope.lbs_needed /$scope.ammonium_n).toFixed(2),
$scope.total_lbs_calcium: ($scope.lbs_needed / $scope.calcium_n).toFixed(2)
...etc
};
然后像这样循环它们:
$scope.isActive = false; //start with false
for(var prop in $scope.variables){
if($scope.variables.hasOwnProperty(prop)){
if($scope.variables[prop] > 0){
$scope.isActive = true;
break; //add this if you want to stop looping at the first variable that is > 0
}
}
}
//if nothing is > 0, $scope.isActive will have remained false at this point
关于javascript - 一次检查多个变量是否具有相同的值并编写条件 - jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39582328/