2017-09-16 98 views
1

我正在開發一個使用codeigniter的購物車。在我的購物車頁面中,我需要更新購物車的數量變化。我在按鈕點擊的幫助下獲得結果。 但我的問題是,我需要得到我的關鍵相同的結果。對於上相應的按鈕鍵上,應點擊點擊使用jquery或javascript的按鈕上的按鈕

Cart page Image

查看頁面

<td> 
    <?php echo form_input(array('name' => $items['rowid']."_qty",'id' => $items['rowid']."_qty", 'value' => $items['qty'], 'maxlength' => '3', 'size' => '5')); ?> 
<button class="btn btn-success " id= "<?php echo $items['rowid']."_qty" ?>" onclick="update_cart('<?=$items['rowid'];?>')" >update</button> 
<script> 
    $("#<?php echo $items['rowid']."_qty" ?>").keyup(function(event){ 

    $("#<?php echo $items['rowid']."_qty" ?>").click(); 

     }); 
     </script> 
    </td> 

的腳本更新車

function update_cart(itemid) 
{ 
    var qty= document.getElementById(itemid+"_qty").value; 
     $.ajax({ 
      type: 'POST', 
      url: '<?php echo site_url("ajax_controller1/update_cart/'+itemid+'/'+qty+'")?>', 
      data: { id:itemid }, 
      success:function(response){ 
       $("#shoppingcart_container").html(response); 
$(".total").click(); 

    } 
    }); 

} 

I just need to click currosponding button on change in quantity input field This is my Demo URL My website link

+0

$(「。total」)。trigger(「click」); –

回答

3

無需添加額外的代碼觸發點擊事件。您可以直接把update_cartform_input

<?php 
    echo form_input(array(
      'name' => $items['rowid']."_qty", 
      'id' => $items['rowid']."_qty", 
      'value' => $items['qty'], 
      'maxlength' => '3', 
      'size' => '5', 
      'onkeyup' => "update_cart('".$items['rowid']."')" 
     ) 
    ); 
?> 

更換<td>標籤上面的代碼,並嘗試

+0

我已經試過這個想法,但onkeyup功能不工作。 –

+0

@YadhuBabu:你在DOM中獲得屬性'onkeyup'嗎? – C2486

+0

我正在嘗試'alert(「kk」);'在關鍵函數上。那也沒有得到 –

2

檢查這個

$("#id_of_field").keyup(function(event){ 

     $("#id_of_button").click(); 

}); 
+0

這就是我所嘗試的。但沒有得到結果 –

-1

你可以簡單地onkeyup屬性添加到您的輸入元素的產生。對不起,我不是在PHP流利,但你可以用同樣的方式,你在添加其他屬性:form_input(array(..))

function update_cart(itemid, quantity) 
 
{ 
 
    console.log(quantity); 
 

 
}
<input type="text" onkeyup="update_cart('someItemId', this.value)" />

0

這裏是代碼,以便您的問題可以得到解決:

首先你需要給一個共同的類輸入用於獲取輸入的值和ID:

$('.commonclass').on('input',function(e){ 
     var id = $(this).attr("id");  
     update_cart(id) 
    }); 


function update_cart(itemid) 
{ 
    var qty= document.getElementById(itemid+"_qty").value; 
     $.ajax({ 
      type: 'POST', 
      url: '<?php echo site_url("ajax_controller1/update_cart/'+itemid+'/'+qty+'")?>', 
      data: { id:itemid }, 
      success:function(response){ 
       $("#shoppingcart_container").html(response); 
$(".total").click(); 

    } 
    }); 

} 
0
<td> 
    <?php echo form_input(array('name' => $items['rowid']."_qty",'id' => $items['rowid']."_qty",'onkeyup'=>'clickBtn("<?php echo $items['rowid']; ?>")', 'value' => $items['qty'], 'maxlength' => '3', 'size' => '5')); ?> 
    <button class="btn btn-success " id= "updateBtn<?php echo $items['rowid']; ?>" onclick="update_cart('<?=$items['rowid'];?>')" >update</button> 
    <script> 
    function clickBtn(id){ 
     $("#updateBtn"+id).click(); 
    } 
    </script> 
</td> 

這是easiset方式

0

要調用任何事件,您只需要調用觸發器函數並傳遞事件名稱作爲參數。

$(".total").trigger("click");