2016-05-17 40 views
-1

我一直在排查一個表格,允許用戶選擇一個金額或選擇其他金額。點擊時的其他金額將金額更改爲$ 5。我試圖得到它,以便如果說用戶試圖輸入一個數字,例如10,15或20作爲例子,它將允許他們鍵入它。目前它將任何小於5的起始號碼轉換爲5,這使得它不可能。故障排除JS有條件的

$("#donrAmountInput").on("input", function() { 
    setDonrAmount("Other"); 
}); 

function setDonrAmount(id) { 
    var amt; 
    $('#donrAmountButtons .active').removeClass('active'); 

    if (id == "Other") { 
    amt = $("#donrAmountInput").val() > 5 ? $("#donrAmountInput").val() : 5; 
    $('#otherAmount button').addClass('active'); 
    } 
    else { 
    amt = id.substring(10); 
    $('#donrAmount' + amt).addClass('active'); 
    } 

    $('input#donrAmountInput').val(amt); 
    $('input#donrAmountInput').change(); 
    $('#donrReviewAmount').html(amt); 
} 

作爲參考,這裏是實際的形式。幫助將不勝感激。 https://secure.pva.org/site/c.ajIRK9NJLcJ2E/b.9381225/k.8668/FY2016_March_Congressional/apps/ka/sd/donorcustom.asp

+1

所以你的問題是在這行'AMT = $( 「#donrAmountInput」)。VAL()> 5? $(「#donrAmountInput」)。val():5;'說明值是否大於5使用它,否則將其設置爲5. – j08691

+0

這是正確的。我知道我將它設置爲5的值小於5,但不知道爲什麼它不會讓我輸入20。 –

+1

因爲當在「20」中鍵入「2」時,它會看到小於「 5" 。無論何時對輸入進行任何更改,都會進行檢查。 – j08691

回答

1

您可以設置inputnumber指定minmaxrequired屬性,然後通過JavaScript/jQuery的檢查它的有效性。

function myFunction() { 
 
    var inpObj = $("#id1")[0]; 
 
    if (inpObj.checkValidity() === false) { 
 
     $("#demo").html(inpObj.validationMessage); 
 
    } else { 
 
     $("#demo").html(inpObj.value); 
 
} 
 
} 
 
$('button').on('click',function(){ 
 
myFunction(); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="id1" type="number" min="5" max="300" required> 
 
<button>OK</button> 
 

 
<p id="demo"></p>