2つのドロップダウンがあります。 1つは最小サイズで、もう1つは最大サイズです。私は最小選択ボックスからの選択値が最大選択ボックスの選択値よりも大きいかどうかをチェックしています。それはうまくいく。返り値がfalseの場合、以前に選択した値をドロップダウンに設定します。
検証がfalseを返す場合は、以前の値を 'selected'に設定する場所が1つあります。それは私にそれをさせません。
デモはここにある - 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_ 1より大きい場合、私の_min_ '
変更されません。それが問題です。 –
'.focus()'イベントを '.click()'に置き換えてみてください –