寻找使用JQuery的一些指示。
我有三个表单元素:
选择 - id:lodge
输入[文本] - id:日期
select - id:duration
我需要做的是让一个函数运行,如果其中任何一个有变化或模糊,而且脚本要检查每个函数是否有值并将所有这三个值传递给脚本。< / p>
所以我需要填充三个变量:
var LodgeChoice = $('#lodge').val();
var DateParse = $('#dates').datepicker('getDate');
var DateChosen = DateParse.getFullYear() + '-' + (DateParse.getMonth() + 1) + '-' + DateParse.getDate();
var Duration = $('#durationNights').val();
但我无法确定某人将填写表格变量的顺序。
答案 0 :(得分:2)
$("#lodge, #dates, #durationNights").on("blur change", function() {
//get/process values here
});
如果您需要知道哪个元素由于某种原因而被更改,您可以从事件处理函数内部引用$(this)
修改强>
回应你的评论:如果你还需要在继续之前确保所有三个都有一个值,你不必只有一个大的if语句。相反,您可以执行以下操作:
var fields = $("#lodge, #dates, #durationNights");
fields.on("blur change", function() {
var valuesSet = true;
fields.each(function() {
if (!$(this).val()) { //inside a jQuery "each", "this" refers to the current item in the loop
valuesSet = false;
return false; //break out of the "each" loop
}
});
if (valuesSet) {
//process values
}
});