我正在使用codeigniter开发购物车。在我的购物车页面中,我需要更新我的购物车,了解商品数量的变化。我在点击按钮的帮助下得到了结果。 但我的问题是我需要在我的密钥上得到相同的结果。对于按键,应单击相应的按钮
查看页面
<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
答案 0 :(得分:3)
无需添加额外代码来触发点击事件。您可以直接将update_cart
与form_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( ..))
function update_cart(itemid, quantity)
{
console.log(quantity);
}
&#13;
<input type="text" onkeyup="update_cart('someItemId', this.value)" />
&#13;