2016-11-03 68 views
1

我有2個下拉菜單。一個是最小尺寸,另一個是最大尺寸。我正在檢查最小選擇框中的選定值是否大於最大選擇框的選定值,反之亦然。它運作良好。如果返回false,請在下拉菜單中設置之前選擇的值

如果驗證返回false,我被困在一個地方,我想將之前的值設置爲'selected'。它不允許我這樣做。

演示是在這裏 - https://jsfiddle.net/squidraj/2fnxw609/1/

JS代碼

$("select[name=size-min],select[name=size-max]").focus(function() { 
    // Store the current value on focus, before it changes 
    previous = this.value; 
}).change(function() { 

    var selname = $(this).attr('name'); 
    var selval = $(this).val(); 
    var e1 = document.getElementById("size-min"); 
    var minval = e1.options[e1.selectedIndex].value; 
    var e2 = document.getElementById("size-max"); 
    var maxval = e2.options[e2.selectedIndex].value; 

    alert(previous); 

    if (selname == "size-min" && parseInt(minval) > parseInt(maxval) && maxval != "") { 
    $('#size-min').val(previous); 
    alert("The minimum size needs to be smaller than maximum size."); 
    return false; 
    } 
    if (selname == "size-max" && parseInt(selval) < parseInt(minval)) { 
    $('#size-max').val(previous); 
    alert("The maximum size needs to be greater than minimum size."); 
    return false; 
    } 

}); 

是它在所有可能的什麼,我想要的目的。任何幫助或建議,高度讚賞。

+0

你的演示似乎工作。如果我的_min_值大於_max_值,我的_min_'