入力値から整数値を取得する際に、jQuery にストリッピングの問題があるようです。
私のコード:
    // Control the rating input field to only accept numeric values
    // -else set the values back to 0
    // For the highest value:
    $('.dsListItem .firstItem').keyup(function(){
        if (isNumber($(this).val()) && $(this).val() < $('.dsListItem .lastItem').val()) {
            console.log('FIRST: ' + $(this).val() + ' >>> ' + $('.dsListItem .lastItem').val());
            $(this).val($('.dsListItem .lastItem').val());
        }
    });
    // For the lowest value:
    $('.dsListItem .lastItem').keyup(function(){
        if (isNumber($(this).val()) && $(this).val() > $('.dsListItem .firstItem').val()) {
            console.log('LAST: ' + $(this).val() + ' >>> ' + $('.dsListItem .firstItem').val());
            $(this).val($('.dsListItem .firstItem').val());
        }
    });
Safari Inspector は次のように教えてくれます。
ラスト: 11 >>> 10
ラスト: 2 >>> 10
ラスト: 1 >>> 10
0 と 1 のみが有効です。10 が「1」として検証された場合、1 > 1 も渡すべきではありませんが、渡されます。
console.log() の出力に正しい整数が表示される理由がわかりませんが、それを使用して計算すると、10 の get が 1 に変換されます。
($(this).val() * 1) で数値をキャストしてみましたが、何も変わりませんでした。値は有効な数値であることがすでにチェックされています。