我为购物车/订单中的每件商品创建表单,即循环中的多个表单并为其提供唯一的ID(' id' =>' cart _'。$ line )(cart_1,cart_2)。并为每个表单创建一个循环更新链接。代码
echo form_open($controller_name."/edit_item/$line", array('class'=>'form-horizontal line-item', 'id'=>'cart_'.$line));
echo form_input(array('name'=>'quantity','value'=>$item['quantity'],'size'=>'2', 'id'=>'quantity','class'=>'form-control cartline', 'data-form' => $line));
echo form_input(array('name'=>'discount','value'=>$item['discount'],'size'=>'3', 'id'=>'discount', 'class'=>'form-control cartline', 'data-form' => $line));?>
<a href="javascript:document.getElementById('<?php echo 'cart_'.$line ?>').submit();" id="anchor" title=<?php echo $this->lang->line('sales_update')?> >
我希望我的表单通过ajax提交onChange数量,折扣字段。 我正在尝试,但形成不发送onChange
<script>
$(document).ready(function(){
$(".line-item").submit(function(event) {
event.preventDefault();
var line_form = $( this ),
url = line_form.attr( 'action' );
$.post(url,
{
quantity:$('quantity').val(),
discount: $('discount').val()
},
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
});
});
</script>
答案 0 :(得分:0)
您需要使用更改
事件<script>
$(document).ready(function(){
//Here the element you want to trigger in change to send the form (quantity, disccount,...)
$(".quantity").change(function(event) {
event.preventDefault();
var line_form = $( this ),
url = line_form.attr( 'action' );
$.post(url,
{
quantity:$('quantity').val(),
discount: $('discount').val()
},
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
});
});
</script>
实际上,如果你有几个元素可以触发表单提交,你可以这样做:
<script>
function submitForm(){
//Here send by AJAX the form and handle all actions
}
$('.elementTriggerSubmit').change(submitForm);
$('#otherElement').change(submitForm);
</script>