我有一个从数据库填充的表。每行都有一个复选框。当您选择(多个)复选框时,我希望能够按下:
isset($_POST['ap'])
)我正在使用codeigniter并一直使用jquery.form提交表单。
我的主要问题是将以下两个函数结合起来并使代码尽可能可重用(我有一些类似的页面用于不同的数据)。 $('.form_js')
反馈validation_errors();
,但不允许不同的表操作。
提前致谢
这是我目前的代码:
$('.form_js').submit(function(){
var options = { target: $(this).find(".error")};
$(this).ajaxSubmit(options);
return false;
});
function form_action(controller){
var original_url = window.location;
var form = $("#ap_table");
var list = $(':checkbox[name="ap[]"]:checked').map(function(){
return $(this).val();
}).get().join(',');
alert(base_url + controller + "?ap=" + list);
form.attr('action', base_url + controller + "?ap_id=" + list);
return false;
}
答案 0 :(得分:0)
我设法以一种清新的头脑和这段代码来做到这一点。
$('input[type=submit]').click(function()
{
var form = $("#numbers");
var submit_button = $(this).attr('value');
if(submit_button == 'Cancel' || submit_button == 'Pause')
{
var controller = 'numbers/status_msg/' + submit_button;
var list = $(':checkbox[name="phone_id[]"]:checked').map(function(){
return $(this).val();
}).get().join(',');
form.attr('action', base_url + controller + '?ids=' + list);
}
/*if($(this).attr('value') == 'Multi Edit')
{
//allow form to submit to default action '#'
}*/
if($(this).attr('value') == 'Save All')
{
var controller = 'numbers/multi_update/';
var options = { target: $(form).find(".error")};
form.attr('action', base_url + controller );
alert(form.attr('action'));
$(form).ajaxSubmit(options);
return false;
}
});
然后在'numbers / multi_update'加载视图中成功提交:
if($("input[name=redirect]").val())
{
//Add $insert_id to the redirect url
var redirect_url = $("input[name=redirect]").val() + "/<?php echo $insert_id; ?>";
//redirect
window.location = base_url + redirect_url;
}
这有效,但有更简单的方法吗?