Javascript 在不重复代码的情况下将数据传递给另一个函数
我有一些服务的带有输入字段的表单,现在我很难将数据从传递到函数 此表单接受数字,此数字乘以以获得总价,但某些输入可以为0 我在globals中声明以从输入中获取值Javascript 在不重复代码的情况下将数据传递给另一个函数,javascript,jquery,function,Javascript,Jquery,Function,我有一些服务的带有输入字段的表单,现在我很难将数据从传递到函数 此表单接受数字,此数字乘以以获得总价,但某些输入可以为0 我在globals中声明以从输入中获取值 var cleaning_size; var bathroom_number; $( ".needs-validation" ).on( "change", "input", function() { cleaning_size = $("#cleaning-size").val(); bathroom_numbe
var cleaning_size;
var bathroom_number;
$( ".needs-validation" ).on( "change", "input", function() {
cleaning_size = $("#cleaning-size").val();
bathroom_number = $("#bathroom-numbers").val();
})
在我的表格中有datepicker,你选择了date,但是如果选择了sunday,价格计算就不同了
$("#datepicker").datepicker({
changeMonth: true,
onSelect: function (selectedDate) {
var date = $(this).datepicker('getDate');
var day = date.getUTCDay();
if (day == '6') {
price_cleaning_size = 1.5;
price_bathroom_number = 26;
} else {
price_cleaning_size = 1.2;
price_bathroom_number = 24;
}
}
});
然后我在不同的函数中计算总数:
function calculate_total_value(){
var cleaning_size_price = cleaning_size * price_cleaning_size;
var bathromm_number_price = bathroom_number * price_bathroom_number;
var total_price = cleaning_size_price + bathromm_number_price;
$('#total-price strong').text(total_price).val();
}
现在我有一个问题,如果选择的日期是6,如何从datepicker获取数据,以获得1.5或1.2来计算总价
我找不到任何类似的例子如何做到这一点
此外,我将有什么样的时间选择器将在函数内,我将需要从那里得到的价值
那么如何正确地传递值呢?尝试修改您的函数(
计算总值()
),使其接受两个参数-这两个参数是您根据所选日期修改的值
(同时也要检查诸如bathromm_number_price之类的打字错误——它们可能需要很多时间才能在以后“找到”。)
jQuery(文档).ready(函数($){
真空吸尘器尺寸;
var/U编号;
$(“.needs validation”)。关于(“更改”、“输入”,函数(){
清洁尺寸=$(“#清洁尺寸”).val();
浴室号码=$(“#浴室号码”).val();
})
$(“#日期选择器”)。日期选择器({
变化月:对,
onSelect:函数(selectedDate){
var date=$(this.datepicker('getDate');
var day=date.getUTCDay();
如果(天=='6'){
价格\清洁\尺寸=1.5;
价格\浴室\数量=26;
}否则{
价格\清洁\尺寸=1.2;
价格\浴室\编号=24;
}
//在此处调用函数,将值作为参数传递
计算总价值(价格、清洁尺寸、价格、浴室数量)
}
});
//更改您的函数,使其接受两个参数(price\u cleaning\u size、price\u浴室\u number)
函数计算\总\值(价格\清洁\尺寸、价格\浴室\编号){
var cleaning\u size\u price=cleaning\u size*price\u cleaning\u size;
var bathromm\u编号\u价格=浴室编号*价格\u浴室编号;
var总价格=清洁尺寸价格+浴室数量价格;
$(“#总价强”).text(总价).val();
}
})
清洁尺寸:
浴室号码:
0
日期:
不在任何地方声明。 建议声明变量。(使用price\u cleaning\u size、price\u浴室\u number
)。在全球范围内申报时必须使用strict
- 在调用函数
的地方不可用。 最好在datepicker的onSelect回调的底部调用它calculate\u total\u value()
}}))$("#datepicker").datepicker({ changeMonth: true, onSelect: function (selectedDate) { var date = $(this).datepicker('getDate'); var day = date.getUTCDay(); if (day == '6') { price_cleaning_size = 1.5; price_bathroom_number = 26; } else { price_cleaning_size = 1.2; price_bathroom_number = 24; } calculate_total_value();
希望这能帮助您……尝试在
if/else