1

我的小提琴

所以我有 2 个领域,浴室和(浴室)套房。

我对其进行了限制,因此套间区域永远不会大于浴室,如果您降低浴室的价值,它会改变套间价值,使其保持不变。

该脚本实际上很简单并且效果很好,但我注意到如果我在浴室编号上设置一个等于或大于 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 错误?)

4

1 回答 1

5

问题出在您的套间触发器中,您尚未将字符串值解析为整数以进行大于比较。

改变:

$('#fensuite').val() > $('#fbathrooms').val()

到:

parseInt($('#fensuite').val()) > parseInt($('#fbathrooms').val())
于 2012-11-14T15:27:23.353 回答