如果具有特定类的任何输入可见且没有值,则不允许单击

时间:2016-08-17 05:20:48

标签: javascript jquery html

如果任何 VISIBLE INPUTS 且课程.popup_element没有,则我如何警告和阻止用户点击课程.weight的所有元素值

下面的代码就是我自己尝试的但似乎没有用。

    $(".popup_element").click(function() {  

        '' == $(".weight:visible").value && 

    alert("Please Select Value First.")
event.preventDefault();
    }),

2 个答案:

答案 0 :(得分:0)

你可以这样做:

$(".popup_element").click(function(event) {  

    var foundNoValue = false;

    $(".weight:visible").each(function(){
        if($.trim($(this).val()) == "")
        {
            foundNoValue = true;
        }
    });

    if(foundNoValue){
        alert("Please Select Value First.")
        event.preventDefault();
    }
})

答案 1 :(得分:0)

您可以使用.filter() method测试任何空白值:

$(".popup_element").click(function() {
  if ($(".weight:visible").filter(function() { return this.value === ""; }).length > 0) { 
    alert("Please Select Value First.")
    event.preventDefault();
  }
})

(如果您需要将空格 - 空格输入视为空白,请使用this.value.trim() === ""。)

我知道我不应该真的鼓励你的快捷方式&&而不是if代码,但是如果你想这样做,你可以通过使用括号和逗号运算符来运行多个语句:

$(".popup_element").click(function() {
  $("input").filter(function() { return this.value === ""; }).length && (
    alert("Please Select Value First."),
    event.preventDefault()
  );
});