我有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;
}
});
是它在所有可能的什麼,我想要的目的。任何幫助或建議,高度讚賞。
你的演示似乎工作。如果我的_min_值大於_max_值,我的_min_'
它不會改變。那就是問題所在。 –
嘗試用'.click()替換'.focus()'事件' –