使用jquery或javascript单击按键上的按钮

时间:2017-09-16 07:26:05

标签: javascript php jquery codeigniter

我正在使用codeigniter开发购物车。在我的购物车页面中,我需要更新我的购物车,了解商品数量的变化。我在点击按钮的帮助下得到了结果。 但我的问题是我需要在我的密钥上得到相同的结果。对于按键,应单击相应的按钮

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();

     }
  });

} 
  

我只需要在数量输入更改时单击currosponding按钮   领域   这是我的演示网址My website link

6 个答案:

答案 0 :(得分: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>代码替换为上述代码,然后尝试

答案 1 :(得分:2)

检查

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

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

});

答案 2 :(得分: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();

     }
  });

} 

答案 3 :(得分: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>

这是一种轻松的方式

答案 4 :(得分:0)

要调用任何事件,您只需调用触发器函数并将事件名称作为参数传递。

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

答案 5 :(得分:-1)

您只需将onkeyup属性添加到输入元素生成中即可。对不起,我不是那么流利的PHP,但你可以使用与添加其他属性相同的方式:form_input(array( ..))

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

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