警告多个空选择

时间:2015-10-22 19:00:03

标签: jquery

我希望为Dealers选择和QTY选择创建提醒。我可以通过检查是否具有空值来获取警报。但是如果它们都有一个空值我不想在警报后发出警报我宁愿有一个警告说" Hey Dummy两个选择都是空的"。

我觉得我越来越近了,但建议将不胜感激。

$("#LogItIn").click(function () {
      var dealer = $("#Dealers");
      var Quantity = $("#Qty");

        if ( dealer.val() === "" ) {
            alert("Please select a dealer.");
                if ($.browser.Chrome) {
                    dealer.click();
                } else {
                    dealer.focus();
                }
        }

        if ( Quantity.val() === "" ) {
            alert("Please select quantity.");
                if ($.browser.Chrome) {
                    Quantity.click();
                } else {
                    Quantity.focus();
                }
        }


    });

http://jsfiddle.net/vproe9bp/

2 个答案:

答案 0 :(得分:1)

我刚刚在一开始就添加了另一个条件,这可以通过整理来确定......

$(document).ready(function () {

    $("#LogItIn").click(function () {

      var dealer = $("#Dealers");
      var qty = $("#Qty");

        if(qty.val() === "" && dealer.val() === "")
            alert("Both empty dummy.")

        else if(dealer.val() === "") 
        {
            alert("Please select a dealer.")

            if ($.browser.Chrome)
                dealer.click()
            else
                dealer.focus()
        }

        else if (qty.val() === "") 
        {
            alert("Please select quantity.")

            if ($.browser.Chrome)
                qty.click();
            else
                qty.focus();
        }
    });
});

答案 1 :(得分:1)

不确定您是否愿意接受建议,但您可以通过以下方式改进实施。这样,您可以在不更改js代码的情况下添加多个选择标记。

<select name="Qty" id="Qty" class="form-control" error-message="Please select a dealer.">
                            <option value="" selected></option>
                            <option value="1">1</option>
                            <option value="2">2</option>
</select>

<select name="Dealers" id="Dealers" class="form-control" error-message="Please select quantity.">
                            <option value="" selected></option>
                            <option value="1">1</option>
                            <option value="2">2</option>
</select>

<button type="button" class="btn btn-default" id="LogItIn"><u>L</u>OG IT IN</button>

 $("#LogItIn").click(function () {
         var alertMessage = "";
         var itemToFocus;
        $('select').each(function()
         {
            if(!$(this).val())
            {
                alertMessage += $(this).attr("error-message");
               if(itemToFocus == undefined)
                 itemToFocus = $(this);               
            }                      
        }); 

        alert(alertMessage);
        if ($.browser.Chrome)
                $(itemToFocus).click();
            else
                $(itemToFocus).focus();
    });

http://jsfiddle.net/vproe9bp/3/