2015-04-20 118 views
0

我有一個codeigniter購物車的數量的文本框。獲取文本框的以前的值

<input type="text" id="txt-box_one<?php echo $items['id']; ?><?php echo $items['rowid'] ?>" value="<?php echo $items['qty']; ?> " class="small-txtbox"> 

我寫了一個ajax函數onmouseleave爲文本框div。

如果用戶首先輸入的文本框的值爲4,並將其更改爲0第二種方法我想再次將文本框的值更改爲4

JS代碼:

function chng(id,rowid,divid,pid,price,divtotal) 
{ 
    var inc = $('#'+id).val(); 
    var upd = 'update'; 
    if(inc < 1) 
    { 
    // $('#'+id).val('1'); 
    var retVal = confirm("Are You Sure to Remove This Item From Baskets?"); 
    if(retVal == true){ 
     var inc = 0; 
    } 
    else { { $('#'+id).val(1); var inc = 1; } } 

    } 

     $.ajax({ 
     type: "POST", 
     data: "qty="+inc+"&row="+rowid+"&upd="+upd+"&pid="+pid+"&price="+price, 
     url: "<?php echo base_url('grocery/text')?>", 
     success: function(html){ 
     $('#'+divid).html(html); 
     if(retVal == true){ 
     location.reload(); 
     } 
     } 
    }); 

} 
+4

我想呼籲通過ajax的原始值是矯枉過正;你也可以將原始值存儲在數據屬性'' – Drew

+0

將你的初始值添加到一個'hidden field'中,然後它只需要一些'if else'來做你正在嘗試的東西。 –

+1

和你的js代碼在哪裏? – karlingen

回答

1

你可以試試這個jQuery的方法也

var count; 
$("#count").on("keyup",function(){ 
    if($(this).val() == 0) 
     return; 

    count = $(this).val(); 

}); 

$("#count").on("blur",function(){ 
    if($(this).val() == 0){ 
     $(this).val(count); 
    } 
}); 

DEMO

0

爲了用這種方式來比較,

if(inc < 1) 

,你必須把它解析爲一個整數,所以使用

if(parseInt(inc) < 1) 
+2

在這種情況下,我寧願'parseInt(inc,10);' – mohamedrias

+0

無論如何,沒有parseInt就無法完成比較 –

1
function getValue() { 
    var val = $.trim($("#quantity").val()); 

    val = parseFloat(val); 
    val = isNaN(val) ? 0 : val; 

    return val; 
} 

$("#quantity") 
.on("keyup", function() { 
    var val = getValue(); 

    if (val) { 
     $("#quantity").data("old-value", val) 
    } 
}) 
.on("blur", function(){ 
    var val = getValue(); 

    if (val == 0) { 
     $("#quantity").val($("#quantity").data("old-value")); 
    } 
}) 

JsFiddle DEMO

0

爲此,您可以使用jQuery的東西,如:

jQuery代碼:

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $("#qty").change(function(){ 
     if($(this).val()<=0){    
      $(this).val($("#qtyold").val()); 
     } 
     var ch_val=$(this).val(); 
     $("#qtyold").val(ch_val); 
    }); 
    }); 
</script> 

HTML代碼:

<input type="text" id="qty" value="" /> 

請讓我知道,如果它的工作