簡體   English   中英

最低和最高價格驗證

[英]Validation for Minimum and Maximum Price

我有2個文本框,一個是“最低價格”,另一個是“最高價格”。我要驗證當一個輸入“最低價格”大於“最大價格”時是否“您輸入的最低價格大於最大價格”。 我為此嘗試了“自定義驗證”,甚至為此也編寫了ajax。我的代碼如下:

<input type="text" id="MinimumPrice"/>
<input type="text" id="MaximumPrice"/>

$('#MaximumPrice').blur(function () {
            var url1 = "/Profile/CheckMaxPrice";
            var max = $('#MaximumPrice').val();
            var min= $("#MinimumPrice").val();
            $.get(url1, { maximum: max, minimum: min }, function (data) {
                if (data.maximum<data.minimum) {
                    alert("ok");
                }
            });
        });

和功能為

[AllowAnonymous]
        [HttpPost]
        public ActionResult CheckMaxPrice(int maximum, int minimum)
        {
            if (maximum < minimum)
            {

                return Json("maximum", JsonRequestBehavior.AllowGet);

            }
            else 
            {
                return Json("minimum", JsonRequestBehavior.AllowGet);
            }
        }

甚至編寫腳本如下:

$("#MaximumPrice").blur(function () {
           var min = $("#MinimumPrice").val();
            var max = $("#MaximumPrice").val();
            if (min > max)
            {
                //$("#MaximumPrice").append("<p>Min Price can not be greater tham Max Price</p>");
                alert("Min Price can not be greater than Max Price");
            }
        });

但沒有得到正確的結果。

要比較數字,您需要將值轉換為數字,否則17會小於2。

var min = parseInt($("#MinimumPrice").val(),10);
var max = parseInt($("#MaximumPrice").val(),10);
if (min > max){
    alert("Min Price can not be greater than Max Price");
}

我假設您使用的是整數,否則可以使用parseFloat()

$("#MinimumPrice, #MaximumPrice").change(function (e) {
    var lil = parseInt($("#MinimumPrice").val(), 10);
    var big = parseInt($("#MaximumPrice").val(), 10);
    $('#lil').text(lil);
    $('#big').text(big);
    if (lil > big) {
        var targ = $(e.target);
        if (targ.is("#MaximumPrice")) {
            alert("Max must be greater than Min");
            $('#MaximumPrice').val(lil);
        }
        if (targ.is("#MinimumPrice")) {
            alert("Min must be less than Max");
            $('#MinimumPrice').val(big);
        }
    }
});

的jsfiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM