检查多个输入字段中是否至少有一个输入字段具有值

时间:2016-06-03 18:11:38

标签: javascript jquery html

我有4个输入字段,我想查看是否至少有一个值。如果没有我想要返回的值。

这是我所拥有的,如果不起作用,我知道,因为如果没有输入任何内容,它就不会输入if语句。

if ($('#Name').val() != "" && $('#State').val() != "" && $('#City').val() != "" && $('#Zip').val() != "") {
  showAlert("You need to select at least one of the following: Name, State, City, or Zip", 'error');
  return;
}

如果没有值,我想显示一条消息,并在没有进一步处理的情况下返回。

2 个答案:

答案 0 :(得分:5)

因此,不应检查该值是否为空,而应检查它们是否为空:

if (!$('#Name').val() && !$('#State').val() && !$('#City').val() && !$('#Zip').val()) {
  return alert("You need to select at least one of the following: Name, State, City, or Zip", 'error');
}

您也可以将alert放在return之后缩短。

Fiddle

答案 1 :(得分:0)

您可以选择所有inputs类型text并过滤它们,检查是否存在该值:

$(function () {
    $("#Check").on("click", function () {
    // Will return the inputs containing value.
    var anyValue = $("input[type=text]").filter(function () {
        return $(this).val().trim() !== "";
    });

    // If there's at least one containing any value.
    console.log(anyValue.length !== 0);
  });
});

我考虑了下面的标记:

<input name="Name" id="Name" type="text" placeholder="Name" />
<input name="City" id="City" type="text" placeholder="City" />
<input name="State" id="State" type="text" placeholder="State" />
<input name="Zip" id="Zip" type="text" placeholder="Zip" />
<button id="Check">Check</button>

Demo