所以我有两个区域,浴室和(浴室)套房。
我限制了它,所以套房区域永远不会比浴室大,如果你降低浴室的价值,它会改变套间价值,所以它保持不变。
脚本实际上很简单并且运行良好,但我注意到如果我将浴室数量设置为等于或高于9的值,它就会开始变得怪异。如果浴室是15,例如,套间将从1到15直接跳,如果你降低浴室它不再工作,它实际上像20或2000 = 2,忽略其余的数字并采取的数值仅限第一位。
HTML:
<label for="fbathrooms">Bathrooms</label><input id="fbathrooms" name="fbathrooms" type="number" min="0"/><br/>
<label for="fensuite" style="display:none">En Suite</label><input id="fensuite" name="fensuite" type="number" min="0" style="display:none;"/>
代码:
function bathroomsTrigger(){
if($('#fbathrooms').val() > 0){
$('#fensuite').slideDown('fast');
$('label[for="fensuite"]').slideDown('fast');
} else {
$('#fensuite').slideUp('fast');
$('label[for="fensuite"]').slideUp('fast');
$('#fensuite').val(0);
}
if($('#fensuite').val() > $('#fbathrooms').val()){
$('#fensuite').val($('#fbathrooms').val());
}
}
function ensuiteTrigger(){
if($('#fensuite').val() > $('#fbathrooms').val()){
$('#fensuite').val($('#fbathrooms').val());
}
}
$('#fbathrooms').keyup(bathroomsTrigger);
$('#fbathrooms').change(bathroomsTrigger);
$('#fensuite').keyup(ensuiteTrigger);
$('#fensuite').change(ensuiteTrigger);
让我发疯,已经调整了好几个小时xD
非常感谢帮助。
(这可能是一个html5错误吗?)
答案 0 :(得分:5)
问题出现在你的ensuite触发器中,你没有将字符串值解析为整数,而不是比较。
变化:
$('#fensuite').val() > $('#fbathrooms').val()
为:
parseInt($('#fensuite').val()) > parseInt($('#fbathrooms').val())