你好我有一個數字類型的輸入是一個數額的形式,我做了兩個按鈕一個+和一個 - 按鈕增加,減少金額,問題是,在某些情況下,增量必不是1,但2,5,15,等等。增加一個輸入類型的數字
所以我做這個東西:
我的表格:
<div id="ModalScan" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
Scannez les codes-barres à ajouter à la commande.
</div>
<div class="modal-body" style="height: 214px;">
<br/>
{{ form_start(scan_form, {'attr': {'id' : 'scan-reassort', 'class' : 'form-inline'}}) }}
{{ form_label(scan_form.gencode) }}
{{ form_errors(scan_form.gencode) }}
{{ form_widget(scan_form.gencode, {'attr': {'onkeyup': 'showHint(this.value)'} }) }}
<br><label>Designation : </label><span id="designationModal" style="padding-left: 20px;"></span><br>
<br><label>Prix unitaire : </label><span id="prixModal" style="padding-left: 20px;"></span><br>
<br><label>Colisage : </label><span id="colisageModal" style="padding-left: 40px;"></span><br>
{{ form_label(scan_form.quantite) }}
{{ form_errors(scan_form.quantite) }}
{{ form_widget(scan_form.quantite, {'attr': {'min': '','value': ''}})}}
<a href="#ajout" id="plus"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></a> <a href="#moins" id="moins"><span class="glyphicon glyphicon-minus" aria-hidden="true"></span></a><br/><br/>
{{ form_rest(scan_form) }}
{{ form_end(scan_form) }}
</div>
<div class="modal-footer">
<input type="submit" class="btn btn-menu" value="Valider">
<button type="button" class="btn btn-default" data-dismiss="modal">Fermer</button>
</div>
</div>
</div>
</div>
我的JS:
$(function(){
var input = document.getElementById('reassort_scan_quantite'),
plus = document.getElementById('plus'),
moins = document.getElementById('moins');
var colisage = Number(document.getElementById('reassort_scan_quantite').getAttribute('colisage'));
var miniCommande = Number(document.getElementById('reassort_scan_quantite').getAttribute('min'));
if(miniCommande === 1){
plus.onclick=function(e){
e.preventDefault();
input.value++;
}
moins.onclick=function(e){
e.preventDefault();
if(input.value>1) input.value--;
}
}
else{
plus.onclick=function(e){
value = parseInt(input.value);
e.preventDefault();
input.value = value + colisage;
}
moins.onclick=function(e){
value = parseInt(input.value);
e.preventDefault();
if(input.value>miniCommande) input.value = value - colisage;
}
}
});
function showHint(str) {
if (str.length == 13) {
$.ajax({
url: 'http://localhost/sf/web/extranet_dev.php/plateforme/reassort_scan/' + str,
method: "POST",
dataType: "json",
success: function (json) {
var nom = json.nom;
var prix = json.prix;
var colisage = json.colisage;
var miniCommande = json.minicommande;
document.getElementById("designationModal").innerHTML = nom;
document.getElementById("prixModal").innerHTML = prix;
document.getElementById("colisageModal").innerHTML = colisage;
document.getElementById("reassort_scan_quantite").setAttribute("min", miniCommande);
document.getElementById('reassort_scan_quantite').setAttribute("value", miniCommande);
document.getElementById("reassort_scan_quantite").setAttribute("data-colisage", colisage);
}
});
}
}
我不知道爲什麼,但是這不工作,我已經嘗試了很多東西,如:
$(function(){
var input = $('#reassort_scan_quantite');
var inputValue = parseInt(input.val());
var plus = $('#plus');
var moins = $('#moins');
var colisage = parseInt(input.attr("data-colisage"));
var min = parseInt(input.attr("min"));
var step = (min < 2) ? 1 : colisage;
var miniCommande = parseInt(input.attr('min'));
function addition(){
if(miniCommande < 2){
inputValue++;
}
else{
inputValue = inputValue + colisage;
}
input.val(inputValue);
}
function soustraction(){
if(input.val() > 1){
if(miniCommande < 2){
inputValue--;
}
else{
inputValue = inputValue - colisage;
}
input.val(inputValue);
}
}
$('#plus').click(function (e) {
e.preventDefault();
addition();
});
$('#moins').click(function(e){
e.preventDefault();
soustraction();
});
});
,但仍然沒有工作:/,在那裏有人可以幫助我嗎?
這是我需要的東西,https://jsfiddle.net/2xt9yv6b/但在我的情況下,值是在頁面加載後設置的。
''現代瀏覽器有它內置的。 – epascarello
需要調用'inputValue的變種= parseInt函數(input.val() );'內部'加'和'soustraction' – jcubic
你的代碼讀取頁面加載時的值/屬性。如果在頁面加載後更新值,則不會獲得新值。點擊按鈕時,您需要讀取方法內的值,以確保您擁有最新的值。 – epascarello