JQuery检查多个输入并选择值

时间:2013-03-01 20:33:20

标签: jquery

寻找使用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();

但我无法确定某人将填写表格变量的顺序。

1 个答案:

答案 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
    }
});