如何检查两个选择框是否被选中,一个值是否大于其他?

时间:2016-08-08 07:33:58

标签: jquery html

尝试检查一个复选框值是否大于其他复选框值。如果是,则启用"添加"按钮,如果没有,禁用它。

出于某种原因,它表现得非常奇怪:当我尝试使用小数字(从0到8)时它工作正常,但是数字越大,它就会禁用按钮,即使该值大于另一个。

我的猜测是我的选择器选择两个选择框都是错误的。 如何检查两个选择框是否被选中,一个值是否大于其他选择框?

代码:

$('.ageSelect').on('change', function() {

    var ageToVal = $("#ageTo").val();
    var ageFromVal = $("#ageFrom").val();
    console.log("from value is "+ageFromVal);

    console.log("to value is "+ageToVal);

    if(ageToVal <= ageFromVal){
        console.log("SMALLLER");
        $("#addChildAge").prop("disabled", true);

    }else{
        console.log("BIGGGER");
        $("#addChildAge").prop("disabled", false);
    }
});


<div class="row">
    <div class="col-md-6">
        <div class="form-group">
            <select class="selectpicker ageSelect" data-live-search="true" id="ageFrom" name="ageFrom" data-bv-excluded="false">
                <optgroup class="userProfileAgeFrom">
                    <option disabled selected value="defaultAge">
                        Age from...
                    </option>
                </optgroup>
            </select>
        </div>
        <div class="form-group">
            <select class="selectpicker ageSelect" data-live-search="true" id="ageTo" name="ageTo" data-bv-excluded="false">
                <optgroup class="userProfileAgeTo">
                    <option disabled selected value="defaultAge">
                        Age to...
                    </option>
                </optgroup>
            </select>
        </div>
    </div>
    <div class="col-md-2">
        <button type="button" id="addChildAge" name="addChildAge" class="btn btn-green">
            <i class="fa fa-plus" aria-hidden="true"></i> Lisa
        </button>
    </div>
</div>

小提琴在这里https://jsfiddle.net/uv6133xm/

2 个答案:

答案 0 :(得分:1)

转换为数字

 var ageToVal = Number($("#ageTo").val());
 var ageFromVal = Number($("#ageFrom").val());

答案 1 :(得分:1)

您需要在比较之前解析值:

 if(parseInt(ageToVal,10) <= parseInt(ageFromVal,10)){