2015-04-20 69 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="" /> 

请让我知道,如果它的工作