Php Codeigniter、引导、下拉列表,将一个值而不是全部保存到数据库
我想提前感谢大家Php Codeigniter、引导、下拉列表,将一个值而不是全部保存到数据库,php,ajax,codeigniter,Php,Ajax,Codeigniter,我想提前感谢大家 <!DOCTYPE html> <html lang="en"> <tr> <th>First Name</th> <th>LS</th> </tr> </thead> <tbody> </tbody> </table> </div>
<!DOCTYPE html>
<html lang="en">
<tr>
<th>First Name</th>
<th>LS</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script type="text/javascript">
var table;
$(document).ready(function() {
table = $('#table').DataTable({
"lengthMenu": [[25, 50, -1], [25, 50, "All"]],
"processing": true,
"serverSide": true,
"order": [],
"ajax": {
"url": "<?php echo site_url('runner/ajax_list')?>",
"type": "POST",
"data": function ( data ) {
data.FirstName = $('#FirstName').val();
data.LS = $('#LS').val();
}
},
"columnDefs": [
{
"targets": [ 0 ],
"orderable": false
}
]
});
$('#btn-filter').click(function(){
table.ajax.reload();
});
$('#btn-reset').click(function(){
$('#form-filter')[0].reset();
table.ajax.reload();
});
});
</script>
<div class = "row">
<div class="modal fade" id="modal_form" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" aria-label="Close"><span aria-
hidden="true">×</span></button>
<h3 class="modal-title">Person Form</h3>
</div>
<div class="modal-body form">
<form action="#" id="form" class="form-horizontal">
<input type="hidden" value="" name="id"/>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">FirstName</label>
<div class="col-md-9">
<input name="FirstName" placeholder="First Name" class="form-control"
type="text">
<span class="help-block"></span>
</div>
</div>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">LS</label>
<div class="col-md-9">
<select name="LS" class="selectpicker" multiple size = 2>
<option value='LRG'>LRG</option>
<option value='SML'>SML</option>
</select>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer" style="padding:2px 2px;">
<button type="button" id="btnSave" onclick="save()" class="btn btn-
primary">Save</button>
<button type="button" class="btn btn-danger" data-
dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var save_method;
var table;
var arr = $(this).val();
$(document).ready(function() {
$("input").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("textarea").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("select").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
});
function add_person()
{
save_method = 'add';
$('#form')[0].reset();
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.backdrop = 'static';
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.keyboard = false;
$('.form-group').removeClass('has-error');
$('.help-block').empty();
$('#modal_form').modal('show');
$('.modal-title').text('Add New Resident');
}
function reload_table()
{
table.ajax.reload(null,true); //reload datatable ajax
}
function save()
{
$('#btnSave').text('saving...');
$('#btnSave').attr('disabled',true);
var url;
if(save_method === 'add')
{
url = "<?php echo site_url('runner/ajax_add')?>";
}
else
{
url = "<?php echo site_url('runner/ajax_update')?>";
}
$.ajax({
url : url,
type: "POST",
data: $('#form').serialize(),
dataType: "JSON",
success: function(data)
{
if(data.status)
{
$('#modal_form').modal('hide');
reload_table();
}
else
{
for (var i = 0; i < data.inputerror.length; i++)
{
$('[name="'+data.inputerror[i]+'"]').parent().parent().addClass('has-
error');
$('[name="'+data.inputerror[i]+'"]').next().text(data.error_string[i]);
}
}
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding / update data!!!!');
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
}
});
}
</script>
</body>
</html>
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Runner extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('runner_model','runner');
}
public function index()
{
$this->load->helper('url');
$this->load->helper('form');
$persons = $this->runner->get_list_countries();
$opt = array('' => 'All person');
foreach ($persons as $person) {
$opt[$person] = $person;
}
$this->load->view('runner_view', $person);
}
public function ajax_list()
{
$list = $this->runner->get_datatables();
$data = array();
$no = $_POST['start'];
foreach ($list as $residents) {
$no++;
$row = array();
$row[] = $residents->FirstName;
$row[] = $residents->LS;
$data[] = $row;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->runner->count_all(),
"recordsFiltered" => $this->runner->count_filtered(),
"data" => $data,
);
//output to json format
echo json_encode($output);
}
public function ajax_add()
{
$data = array(
'FirstName' => $this->input->post('FirstName'),
'LS' => $this->input->post('LS'),
);
$insert=$this->runner->save($data);
echo json_encode(array("status" => TRUE));
}
}
我在codeigniter中使用这个代码
<!DOCTYPE html>
<html lang="en">
<tr>
<th>First Name</th>
<th>LS</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script type="text/javascript">
var table;
$(document).ready(function() {
table = $('#table').DataTable({
"lengthMenu": [[25, 50, -1], [25, 50, "All"]],
"processing": true,
"serverSide": true,
"order": [],
"ajax": {
"url": "<?php echo site_url('runner/ajax_list')?>",
"type": "POST",
"data": function ( data ) {
data.FirstName = $('#FirstName').val();
data.LS = $('#LS').val();
}
},
"columnDefs": [
{
"targets": [ 0 ],
"orderable": false
}
]
});
$('#btn-filter').click(function(){
table.ajax.reload();
});
$('#btn-reset').click(function(){
$('#form-filter')[0].reset();
table.ajax.reload();
});
});
</script>
<div class = "row">
<div class="modal fade" id="modal_form" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" aria-label="Close"><span aria-
hidden="true">×</span></button>
<h3 class="modal-title">Person Form</h3>
</div>
<div class="modal-body form">
<form action="#" id="form" class="form-horizontal">
<input type="hidden" value="" name="id"/>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">FirstName</label>
<div class="col-md-9">
<input name="FirstName" placeholder="First Name" class="form-control"
type="text">
<span class="help-block"></span>
</div>
</div>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">LS</label>
<div class="col-md-9">
<select name="LS" class="selectpicker" multiple size = 2>
<option value='LRG'>LRG</option>
<option value='SML'>SML</option>
</select>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer" style="padding:2px 2px;">
<button type="button" id="btnSave" onclick="save()" class="btn btn-
primary">Save</button>
<button type="button" class="btn btn-danger" data-
dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var save_method;
var table;
var arr = $(this).val();
$(document).ready(function() {
$("input").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("textarea").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("select").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
});
function add_person()
{
save_method = 'add';
$('#form')[0].reset();
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.backdrop = 'static';
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.keyboard = false;
$('.form-group').removeClass('has-error');
$('.help-block').empty();
$('#modal_form').modal('show');
$('.modal-title').text('Add New Resident');
}
function reload_table()
{
table.ajax.reload(null,true); //reload datatable ajax
}
function save()
{
$('#btnSave').text('saving...');
$('#btnSave').attr('disabled',true);
var url;
if(save_method === 'add')
{
url = "<?php echo site_url('runner/ajax_add')?>";
}
else
{
url = "<?php echo site_url('runner/ajax_update')?>";
}
$.ajax({
url : url,
type: "POST",
data: $('#form').serialize(),
dataType: "JSON",
success: function(data)
{
if(data.status)
{
$('#modal_form').modal('hide');
reload_table();
}
else
{
for (var i = 0; i < data.inputerror.length; i++)
{
$('[name="'+data.inputerror[i]+'"]').parent().parent().addClass('has-
error');
$('[name="'+data.inputerror[i]+'"]').next().text(data.error_string[i]);
}
}
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding / update data!!!!');
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
}
});
}
</script>
</body>
</html>
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Runner extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('runner_model','runner');
}
public function index()
{
$this->load->helper('url');
$this->load->helper('form');
$persons = $this->runner->get_list_countries();
$opt = array('' => 'All person');
foreach ($persons as $person) {
$opt[$person] = $person;
}
$this->load->view('runner_view', $person);
}
public function ajax_list()
{
$list = $this->runner->get_datatables();
$data = array();
$no = $_POST['start'];
foreach ($list as $residents) {
$no++;
$row = array();
$row[] = $residents->FirstName;
$row[] = $residents->LS;
$data[] = $row;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->runner->count_all(),
"recordsFiltered" => $this->runner->count_filtered(),
"data" => $data,
);
//output to json format
echo json_encode($output);
}
public function ajax_add()
{
$data = array(
'FirstName' => $this->input->post('FirstName'),
'LS' => $this->input->post('LS'),
);
$insert=$this->runner->save($data);
echo json_encode(array("status" => TRUE));
}
}
我需要有人帮助创建php代码的下拉列表,这是一个模态的一部分
<!DOCTYPE html>
<html lang="en">
<tr>
<th>First Name</th>
<th>LS</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script type="text/javascript">
var table;
$(document).ready(function() {
table = $('#table').DataTable({
"lengthMenu": [[25, 50, -1], [25, 50, "All"]],
"processing": true,
"serverSide": true,
"order": [],
"ajax": {
"url": "<?php echo site_url('runner/ajax_list')?>",
"type": "POST",
"data": function ( data ) {
data.FirstName = $('#FirstName').val();
data.LS = $('#LS').val();
}
},
"columnDefs": [
{
"targets": [ 0 ],
"orderable": false
}
]
});
$('#btn-filter').click(function(){
table.ajax.reload();
});
$('#btn-reset').click(function(){
$('#form-filter')[0].reset();
table.ajax.reload();
});
});
</script>
<div class = "row">
<div class="modal fade" id="modal_form" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" aria-label="Close"><span aria-
hidden="true">×</span></button>
<h3 class="modal-title">Person Form</h3>
</div>
<div class="modal-body form">
<form action="#" id="form" class="form-horizontal">
<input type="hidden" value="" name="id"/>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">FirstName</label>
<div class="col-md-9">
<input name="FirstName" placeholder="First Name" class="form-control"
type="text">
<span class="help-block"></span>
</div>
</div>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">LS</label>
<div class="col-md-9">
<select name="LS" class="selectpicker" multiple size = 2>
<option value='LRG'>LRG</option>
<option value='SML'>SML</option>
</select>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer" style="padding:2px 2px;">
<button type="button" id="btnSave" onclick="save()" class="btn btn-
primary">Save</button>
<button type="button" class="btn btn-danger" data-
dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var save_method;
var table;
var arr = $(this).val();
$(document).ready(function() {
$("input").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("textarea").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("select").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
});
function add_person()
{
save_method = 'add';
$('#form')[0].reset();
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.backdrop = 'static';
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.keyboard = false;
$('.form-group').removeClass('has-error');
$('.help-block').empty();
$('#modal_form').modal('show');
$('.modal-title').text('Add New Resident');
}
function reload_table()
{
table.ajax.reload(null,true); //reload datatable ajax
}
function save()
{
$('#btnSave').text('saving...');
$('#btnSave').attr('disabled',true);
var url;
if(save_method === 'add')
{
url = "<?php echo site_url('runner/ajax_add')?>";
}
else
{
url = "<?php echo site_url('runner/ajax_update')?>";
}
$.ajax({
url : url,
type: "POST",
data: $('#form').serialize(),
dataType: "JSON",
success: function(data)
{
if(data.status)
{
$('#modal_form').modal('hide');
reload_table();
}
else
{
for (var i = 0; i < data.inputerror.length; i++)
{
$('[name="'+data.inputerror[i]+'"]').parent().parent().addClass('has-
error');
$('[name="'+data.inputerror[i]+'"]').next().text(data.error_string[i]);
}
}
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding / update data!!!!');
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
}
});
}
</script>
</body>
</html>
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Runner extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('runner_model','runner');
}
public function index()
{
$this->load->helper('url');
$this->load->helper('form');
$persons = $this->runner->get_list_countries();
$opt = array('' => 'All person');
foreach ($persons as $person) {
$opt[$person] = $person;
}
$this->load->view('runner_view', $person);
}
public function ajax_list()
{
$list = $this->runner->get_datatables();
$data = array();
$no = $_POST['start'];
foreach ($list as $residents) {
$no++;
$row = array();
$row[] = $residents->FirstName;
$row[] = $residents->LS;
$data[] = $row;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->runner->count_all(),
"recordsFiltered" => $this->runner->count_filtered(),
"data" => $data,
);
//output to json format
echo json_encode($output);
}
public function ajax_add()
{
$data = array(
'FirstName' => $this->input->post('FirstName'),
'LS' => $this->input->post('LS'),
);
$insert=$this->runner->save($data);
echo json_encode(array("status" => TRUE));
}
}
我已经完成了简单的部分,需要帮助完成困难的部分
[![Drop-down list][1]][1]
<!DOCTYPE html>
<html lang="en">
<tr>
<th>First Name</th>
<th>LS</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script type="text/javascript">
var table;
$(document).ready(function() {
table = $('#table').DataTable({
"lengthMenu": [[25, 50, -1], [25, 50, "All"]],
"processing": true,
"serverSide": true,
"order": [],
"ajax": {
"url": "<?php echo site_url('runner/ajax_list')?>",
"type": "POST",
"data": function ( data ) {
data.FirstName = $('#FirstName').val();
data.LS = $('#LS').val();
}
},
"columnDefs": [
{
"targets": [ 0 ],
"orderable": false
}
]
});
$('#btn-filter').click(function(){
table.ajax.reload();
});
$('#btn-reset').click(function(){
$('#form-filter')[0].reset();
table.ajax.reload();
});
});
</script>
<div class = "row">
<div class="modal fade" id="modal_form" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" aria-label="Close"><span aria-
hidden="true">×</span></button>
<h3 class="modal-title">Person Form</h3>
</div>
<div class="modal-body form">
<form action="#" id="form" class="form-horizontal">
<input type="hidden" value="" name="id"/>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">FirstName</label>
<div class="col-md-9">
<input name="FirstName" placeholder="First Name" class="form-control"
type="text">
<span class="help-block"></span>
</div>
</div>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">LS</label>
<div class="col-md-9">
<select name="LS" class="selectpicker" multiple size = 2>
<option value='LRG'>LRG</option>
<option value='SML'>SML</option>
</select>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer" style="padding:2px 2px;">
<button type="button" id="btnSave" onclick="save()" class="btn btn-
primary">Save</button>
<button type="button" class="btn btn-danger" data-
dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var save_method;
var table;
var arr = $(this).val();
$(document).ready(function() {
$("input").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("textarea").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("select").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
});
function add_person()
{
save_method = 'add';
$('#form')[0].reset();
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.backdrop = 'static';
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.keyboard = false;
$('.form-group').removeClass('has-error');
$('.help-block').empty();
$('#modal_form').modal('show');
$('.modal-title').text('Add New Resident');
}
function reload_table()
{
table.ajax.reload(null,true); //reload datatable ajax
}
function save()
{
$('#btnSave').text('saving...');
$('#btnSave').attr('disabled',true);
var url;
if(save_method === 'add')
{
url = "<?php echo site_url('runner/ajax_add')?>";
}
else
{
url = "<?php echo site_url('runner/ajax_update')?>";
}
$.ajax({
url : url,
type: "POST",
data: $('#form').serialize(),
dataType: "JSON",
success: function(data)
{
if(data.status)
{
$('#modal_form').modal('hide');
reload_table();
}
else
{
for (var i = 0; i < data.inputerror.length; i++)
{
$('[name="'+data.inputerror[i]+'"]').parent().parent().addClass('has-
error');
$('[name="'+data.inputerror[i]+'"]').next().text(data.error_string[i]);
}
}
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding / update data!!!!');
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
}
});
}
</script>
</body>
</html>
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Runner extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('runner_model','runner');
}
public function index()
{
$this->load->helper('url');
$this->load->helper('form');
$persons = $this->runner->get_list_countries();
$opt = array('' => 'All person');
foreach ($persons as $person) {
$opt[$person] = $person;
}
$this->load->view('runner_view', $person);
}
public function ajax_list()
{
$list = $this->runner->get_datatables();
$data = array();
$no = $_POST['start'];
foreach ($list as $residents) {
$no++;
$row = array();
$row[] = $residents->FirstName;
$row[] = $residents->LS;
$data[] = $row;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->runner->count_all(),
"recordsFiltered" => $this->runner->count_filtered(),
"data" => $data,
);
//output to json format
echo json_encode($output);
}
public function ajax_add()
{
$data = array(
'FirstName' => $this->input->post('FirstName'),
'LS' => $this->input->post('LS'),
);
$insert=$this->runner->save($data);
echo json_encode(array("status" => TRUE));
}
}
在上面的示例中,我想将所有值保存到数据库中
<!DOCTYPE html>
<html lang="en">
<tr>
<th>First Name</th>
<th>LS</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script type="text/javascript">
var table;
$(document).ready(function() {
table = $('#table').DataTable({
"lengthMenu": [[25, 50, -1], [25, 50, "All"]],
"processing": true,
"serverSide": true,
"order": [],
"ajax": {
"url": "<?php echo site_url('runner/ajax_list')?>",
"type": "POST",
"data": function ( data ) {
data.FirstName = $('#FirstName').val();
data.LS = $('#LS').val();
}
},
"columnDefs": [
{
"targets": [ 0 ],
"orderable": false
}
]
});
$('#btn-filter').click(function(){
table.ajax.reload();
});
$('#btn-reset').click(function(){
$('#form-filter')[0].reset();
table.ajax.reload();
});
});
</script>
<div class = "row">
<div class="modal fade" id="modal_form" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" aria-label="Close"><span aria-
hidden="true">×</span></button>
<h3 class="modal-title">Person Form</h3>
</div>
<div class="modal-body form">
<form action="#" id="form" class="form-horizontal">
<input type="hidden" value="" name="id"/>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">FirstName</label>
<div class="col-md-9">
<input name="FirstName" placeholder="First Name" class="form-control"
type="text">
<span class="help-block"></span>
</div>
</div>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">LS</label>
<div class="col-md-9">
<select name="LS" class="selectpicker" multiple size = 2>
<option value='LRG'>LRG</option>
<option value='SML'>SML</option>
</select>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer" style="padding:2px 2px;">
<button type="button" id="btnSave" onclick="save()" class="btn btn-
primary">Save</button>
<button type="button" class="btn btn-danger" data-
dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var save_method;
var table;
var arr = $(this).val();
$(document).ready(function() {
$("input").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("textarea").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("select").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
});
function add_person()
{
save_method = 'add';
$('#form')[0].reset();
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.backdrop = 'static';
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.keyboard = false;
$('.form-group').removeClass('has-error');
$('.help-block').empty();
$('#modal_form').modal('show');
$('.modal-title').text('Add New Resident');
}
function reload_table()
{
table.ajax.reload(null,true); //reload datatable ajax
}
function save()
{
$('#btnSave').text('saving...');
$('#btnSave').attr('disabled',true);
var url;
if(save_method === 'add')
{
url = "<?php echo site_url('runner/ajax_add')?>";
}
else
{
url = "<?php echo site_url('runner/ajax_update')?>";
}
$.ajax({
url : url,
type: "POST",
data: $('#form').serialize(),
dataType: "JSON",
success: function(data)
{
if(data.status)
{
$('#modal_form').modal('hide');
reload_table();
}
else
{
for (var i = 0; i < data.inputerror.length; i++)
{
$('[name="'+data.inputerror[i]+'"]').parent().parent().addClass('has-
error');
$('[name="'+data.inputerror[i]+'"]').next().text(data.error_string[i]);
}
}
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding / update data!!!!');
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
}
});
}
</script>
</body>
</html>
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Runner extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('runner_model','runner');
}
public function index()
{
$this->load->helper('url');
$this->load->helper('form');
$persons = $this->runner->get_list_countries();
$opt = array('' => 'All person');
foreach ($persons as $person) {
$opt[$person] = $person;
}
$this->load->view('runner_view', $person);
}
public function ajax_list()
{
$list = $this->runner->get_datatables();
$data = array();
$no = $_POST['start'];
foreach ($list as $residents) {
$no++;
$row = array();
$row[] = $residents->FirstName;
$row[] = $residents->LS;
$data[] = $row;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->runner->count_all(),
"recordsFiltered" => $this->runner->count_filtered(),
"data" => $data,
);
//output to json format
echo json_encode($output);
}
public function ajax_add()
{
$data = array(
'FirstName' => $this->input->post('FirstName'),
'LS' => $this->input->post('LS'),
);
$insert=$this->runner->save($data);
echo json_encode(array("status" => TRUE));
}
}
现在有了这段代码,它只保存了一个值,而不是全部
<!DOCTYPE html>
<html lang="en">
<tr>
<th>First Name</th>
<th>LS</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script type="text/javascript">
var table;
$(document).ready(function() {
table = $('#table').DataTable({
"lengthMenu": [[25, 50, -1], [25, 50, "All"]],
"processing": true,
"serverSide": true,
"order": [],
"ajax": {
"url": "<?php echo site_url('runner/ajax_list')?>",
"type": "POST",
"data": function ( data ) {
data.FirstName = $('#FirstName').val();
data.LS = $('#LS').val();
}
},
"columnDefs": [
{
"targets": [ 0 ],
"orderable": false
}
]
});
$('#btn-filter').click(function(){
table.ajax.reload();
});
$('#btn-reset').click(function(){
$('#form-filter')[0].reset();
table.ajax.reload();
});
});
</script>
<div class = "row">
<div class="modal fade" id="modal_form" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" aria-label="Close"><span aria-
hidden="true">×</span></button>
<h3 class="modal-title">Person Form</h3>
</div>
<div class="modal-body form">
<form action="#" id="form" class="form-horizontal">
<input type="hidden" value="" name="id"/>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">FirstName</label>
<div class="col-md-9">
<input name="FirstName" placeholder="First Name" class="form-control"
type="text">
<span class="help-block"></span>
</div>
</div>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">LS</label>
<div class="col-md-9">
<select name="LS" class="selectpicker" multiple size = 2>
<option value='LRG'>LRG</option>
<option value='SML'>SML</option>
</select>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer" style="padding:2px 2px;">
<button type="button" id="btnSave" onclick="save()" class="btn btn-
primary">Save</button>
<button type="button" class="btn btn-danger" data-
dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var save_method;
var table;
var arr = $(this).val();
$(document).ready(function() {
$("input").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("textarea").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("select").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
});
function add_person()
{
save_method = 'add';
$('#form')[0].reset();
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.backdrop = 'static';
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.keyboard = false;
$('.form-group').removeClass('has-error');
$('.help-block').empty();
$('#modal_form').modal('show');
$('.modal-title').text('Add New Resident');
}
function reload_table()
{
table.ajax.reload(null,true); //reload datatable ajax
}
function save()
{
$('#btnSave').text('saving...');
$('#btnSave').attr('disabled',true);
var url;
if(save_method === 'add')
{
url = "<?php echo site_url('runner/ajax_add')?>";
}
else
{
url = "<?php echo site_url('runner/ajax_update')?>";
}
$.ajax({
url : url,
type: "POST",
data: $('#form').serialize(),
dataType: "JSON",
success: function(data)
{
if(data.status)
{
$('#modal_form').modal('hide');
reload_table();
}
else
{
for (var i = 0; i < data.inputerror.length; i++)
{
$('[name="'+data.inputerror[i]+'"]').parent().parent().addClass('has-
error');
$('[name="'+data.inputerror[i]+'"]').next().text(data.error_string[i]);
}
}
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding / update data!!!!');
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
}
});
}
</script>
</body>
</html>
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Runner extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('runner_model','runner');
}
public function index()
{
$this->load->helper('url');
$this->load->helper('form');
$persons = $this->runner->get_list_countries();
$opt = array('' => 'All person');
foreach ($persons as $person) {
$opt[$person] = $person;
}
$this->load->view('runner_view', $person);
}
public function ajax_list()
{
$list = $this->runner->get_datatables();
$data = array();
$no = $_POST['start'];
foreach ($list as $residents) {
$no++;
$row = array();
$row[] = $residents->FirstName;
$row[] = $residents->LS;
$data[] = $row;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->runner->count_all(),
"recordsFiltered" => $this->runner->count_filtered(),
"data" => $data,
);
//output to json format
echo json_encode($output);
}
public function ajax_add()
{
$data = array(
'FirstName' => $this->input->post('FirstName'),
'LS' => $this->input->post('LS'),
);
$insert=$this->runner->save($data);
echo json_encode(array("status" => TRUE));
}
}
使用下面的代码实现这一点的最佳方法是什么
<!DOCTYPE html>
<html lang="en">
<tr>
<th>First Name</th>
<th>LS</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script type="text/javascript">
var table;
$(document).ready(function() {
table = $('#table').DataTable({
"lengthMenu": [[25, 50, -1], [25, 50, "All"]],
"processing": true,
"serverSide": true,
"order": [],
"ajax": {
"url": "<?php echo site_url('runner/ajax_list')?>",
"type": "POST",
"data": function ( data ) {
data.FirstName = $('#FirstName').val();
data.LS = $('#LS').val();
}
},
"columnDefs": [
{
"targets": [ 0 ],
"orderable": false
}
]
});
$('#btn-filter').click(function(){
table.ajax.reload();
});
$('#btn-reset').click(function(){
$('#form-filter')[0].reset();
table.ajax.reload();
});
});
</script>
<div class = "row">
<div class="modal fade" id="modal_form" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" aria-label="Close"><span aria-
hidden="true">×</span></button>
<h3 class="modal-title">Person Form</h3>
</div>
<div class="modal-body form">
<form action="#" id="form" class="form-horizontal">
<input type="hidden" value="" name="id"/>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">FirstName</label>
<div class="col-md-9">
<input name="FirstName" placeholder="First Name" class="form-control"
type="text">
<span class="help-block"></span>
</div>
</div>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">LS</label>
<div class="col-md-9">
<select name="LS" class="selectpicker" multiple size = 2>
<option value='LRG'>LRG</option>
<option value='SML'>SML</option>
</select>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer" style="padding:2px 2px;">
<button type="button" id="btnSave" onclick="save()" class="btn btn-
primary">Save</button>
<button type="button" class="btn btn-danger" data-
dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var save_method;
var table;
var arr = $(this).val();
$(document).ready(function() {
$("input").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("textarea").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("select").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
});
function add_person()
{
save_method = 'add';
$('#form')[0].reset();
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.backdrop = 'static';
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.keyboard = false;
$('.form-group').removeClass('has-error');
$('.help-block').empty();
$('#modal_form').modal('show');
$('.modal-title').text('Add New Resident');
}
function reload_table()
{
table.ajax.reload(null,true); //reload datatable ajax
}
function save()
{
$('#btnSave').text('saving...');
$('#btnSave').attr('disabled',true);
var url;
if(save_method === 'add')
{
url = "<?php echo site_url('runner/ajax_add')?>";
}
else
{
url = "<?php echo site_url('runner/ajax_update')?>";
}
$.ajax({
url : url,
type: "POST",
data: $('#form').serialize(),
dataType: "JSON",
success: function(data)
{
if(data.status)
{
$('#modal_form').modal('hide');
reload_table();
}
else
{
for (var i = 0; i < data.inputerror.length; i++)
{
$('[name="'+data.inputerror[i]+'"]').parent().parent().addClass('has-
error');
$('[name="'+data.inputerror[i]+'"]').next().text(data.error_string[i]);
}
}
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding / update data!!!!');
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
}
});
}
</script>
</body>
</html>
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Runner extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('runner_model','runner');
}
public function index()
{
$this->load->helper('url');
$this->load->helper('form');
$persons = $this->runner->get_list_countries();
$opt = array('' => 'All person');
foreach ($persons as $person) {
$opt[$person] = $person;
}
$this->load->view('runner_view', $person);
}
public function ajax_list()
{
$list = $this->runner->get_datatables();
$data = array();
$no = $_POST['start'];
foreach ($list as $residents) {
$no++;
$row = array();
$row[] = $residents->FirstName;
$row[] = $residents->LS;
$data[] = $row;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->runner->count_all(),
"recordsFiltered" => $this->runner->count_filtered(),
"data" => $data,
);
//output to json format
echo json_encode($output);
}
public function ajax_add()
{
$data = array(
'FirstName' => $this->input->post('FirstName'),
'LS' => $this->input->post('LS'),
);
$insert=$this->runner->save($data);
echo json_encode(array("status" => TRUE));
}
}
这就是我目前所拥有的,只保存了一个值,谢谢
<label class="control-label col-md-3">LS</label>
<div class="col-md-9">
<select name="LS" class="selectpicker" multiple size = 2>
<option value='LRG'>LRG</option>
<option value='SML'>SML</option>
</select>
<!DOCTYPE html>
<html lang="en">
<tr>
<th>First Name</th>
<th>LS</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script type="text/javascript">
var table;
$(document).ready(function() {
table = $('#table').DataTable({
"lengthMenu": [[25, 50, -1], [25, 50, "All"]],
"processing": true,
"serverSide": true,
"order": [],
"ajax": {
"url": "<?php echo site_url('runner/ajax_list')?>",
"type": "POST",
"data": function ( data ) {
data.FirstName = $('#FirstName').val();
data.LS = $('#LS').val();
}
},
"columnDefs": [
{
"targets": [ 0 ],
"orderable": false
}
]
});
$('#btn-filter').click(function(){
table.ajax.reload();
});
$('#btn-reset').click(function(){
$('#form-filter')[0].reset();
table.ajax.reload();
});
});
</script>
<div class = "row">
<div class="modal fade" id="modal_form" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" aria-label="Close"><span aria-
hidden="true">×</span></button>
<h3 class="modal-title">Person Form</h3>
</div>
<div class="modal-body form">
<form action="#" id="form" class="form-horizontal">
<input type="hidden" value="" name="id"/>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">FirstName</label>
<div class="col-md-9">
<input name="FirstName" placeholder="First Name" class="form-control"
type="text">
<span class="help-block"></span>
</div>
</div>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">LS</label>
<div class="col-md-9">
<select name="LS" class="selectpicker" multiple size = 2>
<option value='LRG'>LRG</option>
<option value='SML'>SML</option>
</select>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer" style="padding:2px 2px;">
<button type="button" id="btnSave" onclick="save()" class="btn btn-
primary">Save</button>
<button type="button" class="btn btn-danger" data-
dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var save_method;
var table;
var arr = $(this).val();
$(document).ready(function() {
$("input").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("textarea").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("select").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
});
function add_person()
{
save_method = 'add';
$('#form')[0].reset();
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.backdrop = 'static';
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.keyboard = false;
$('.form-group').removeClass('has-error');
$('.help-block').empty();
$('#modal_form').modal('show');
$('.modal-title').text('Add New Resident');
}
function reload_table()
{
table.ajax.reload(null,true); //reload datatable ajax
}
function save()
{
$('#btnSave').text('saving...');
$('#btnSave').attr('disabled',true);
var url;
if(save_method === 'add')
{
url = "<?php echo site_url('runner/ajax_add')?>";
}
else
{
url = "<?php echo site_url('runner/ajax_update')?>";
}
$.ajax({
url : url,
type: "POST",
data: $('#form').serialize(),
dataType: "JSON",
success: function(data)
{
if(data.status)
{
$('#modal_form').modal('hide');
reload_table();
}
else
{
for (var i = 0; i < data.inputerror.length; i++)
{
$('[name="'+data.inputerror[i]+'"]').parent().parent().addClass('has-
error');
$('[name="'+data.inputerror[i]+'"]').next().text(data.error_string[i]);
}
}
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding / update data!!!!');
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
}
});
}
</script>
</body>
</html>
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Runner extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('runner_model','runner');
}
public function index()
{
$this->load->helper('url');
$this->load->helper('form');
$persons = $this->runner->get_list_countries();
$opt = array('' => 'All person');
foreach ($persons as $person) {
$opt[$person] = $person;
}
$this->load->view('runner_view', $person);
}
public function ajax_list()
{
$list = $this->runner->get_datatables();
$data = array();
$no = $_POST['start'];
foreach ($list as $residents) {
$no++;
$row = array();
$row[] = $residents->FirstName;
$row[] = $residents->LS;
$data[] = $row;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->runner->count_all(),
"recordsFiltered" => $this->runner->count_filtered(),
"data" => $data,
);
//output to json format
echo json_encode($output);
}
public function ajax_add()
{
$data = array(
'FirstName' => $this->input->post('FirstName'),
'LS' => $this->input->post('LS'),
);
$insert=$this->runner->save($data);
echo json_encode(array("status" => TRUE));
}
}
首先,将name与
[]
一起用于如下多个选择:
。因为此选择将向服务器发送多个值。
其次,我不知道tablekeeprunner
结构,但您必须考虑如何将多个值存储到db:
<!DOCTYPE html>
<html lang="en">
<tr>
<th>First Name</th>
<th>LS</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script type="text/javascript">
var table;
$(document).ready(function() {
table = $('#table').DataTable({
"lengthMenu": [[25, 50, -1], [25, 50, "All"]],
"processing": true,
"serverSide": true,
"order": [],
"ajax": {
"url": "<?php echo site_url('runner/ajax_list')?>",
"type": "POST",
"data": function ( data ) {
data.FirstName = $('#FirstName').val();
data.LS = $('#LS').val();
}
},
"columnDefs": [
{
"targets": [ 0 ],
"orderable": false
}
]
});
$('#btn-filter').click(function(){
table.ajax.reload();
});
$('#btn-reset').click(function(){
$('#form-filter')[0].reset();
table.ajax.reload();
});
});
</script>
<div class = "row">
<div class="modal fade" id="modal_form" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" aria-label="Close"><span aria-
hidden="true">×</span></button>
<h3 class="modal-title">Person Form</h3>
</div>
<div class="modal-body form">
<form action="#" id="form" class="form-horizontal">
<input type="hidden" value="" name="id"/>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">FirstName</label>
<div class="col-md-9">
<input name="FirstName" placeholder="First Name" class="form-control"
type="text">
<span class="help-block"></span>
</div>
</div>
<div class="form-body">
<div class="form-group">
<label class="control-label col-md-3">LS</label>
<div class="col-md-9">
<select name="LS" class="selectpicker" multiple size = 2>
<option value='LRG'>LRG</option>
<option value='SML'>SML</option>
</select>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer" style="padding:2px 2px;">
<button type="button" id="btnSave" onclick="save()" class="btn btn-
primary">Save</button>
<button type="button" class="btn btn-danger" data-
dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var save_method;
var table;
var arr = $(this).val();
$(document).ready(function() {
$("input").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("textarea").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
$("select").change(function(){
$(this).parent().parent().removeClass('has-error');
$(this).next().empty();
});
});
function add_person()
{
save_method = 'add';
$('#form')[0].reset();
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.backdrop = 'static';
$.fn.modal.prototype.constructor.Constructor.DEFAULTS.keyboard = false;
$('.form-group').removeClass('has-error');
$('.help-block').empty();
$('#modal_form').modal('show');
$('.modal-title').text('Add New Resident');
}
function reload_table()
{
table.ajax.reload(null,true); //reload datatable ajax
}
function save()
{
$('#btnSave').text('saving...');
$('#btnSave').attr('disabled',true);
var url;
if(save_method === 'add')
{
url = "<?php echo site_url('runner/ajax_add')?>";
}
else
{
url = "<?php echo site_url('runner/ajax_update')?>";
}
$.ajax({
url : url,
type: "POST",
data: $('#form').serialize(),
dataType: "JSON",
success: function(data)
{
if(data.status)
{
$('#modal_form').modal('hide');
reload_table();
}
else
{
for (var i = 0; i < data.inputerror.length; i++)
{
$('[name="'+data.inputerror[i]+'"]').parent().parent().addClass('has-
error');
$('[name="'+data.inputerror[i]+'"]').next().text(data.error_string[i]);
}
}
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding / update data!!!!');
$('#btnSave').text('save');
$('#btnSave').attr('disabled',false);
}
});
}
</script>
</body>
</html>
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Runner extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('runner_model','runner');
}
public function index()
{
$this->load->helper('url');
$this->load->helper('form');
$persons = $this->runner->get_list_countries();
$opt = array('' => 'All person');
foreach ($persons as $person) {
$opt[$person] = $person;
}
$this->load->view('runner_view', $person);
}
public function ajax_list()
{
$list = $this->runner->get_datatables();
$data = array();
$no = $_POST['start'];
foreach ($list as $residents) {
$no++;
$row = array();
$row[] = $residents->FirstName;
$row[] = $residents->LS;
$data[] = $row;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $this->runner->count_all(),
"recordsFiltered" => $this->runner->count_filtered(),
"data" => $data,
);
//output to json format
echo json_encode($output);
}
public function ajax_add()
{
$data = array(
'FirstName' => $this->input->post('FirstName'),
'LS' => $this->input->post('LS'),
);
$insert=$this->runner->save($data);
echo json_encode(array("status" => TRUE));
}
}
- 为每个LS值指定单独的行。它需要使用几个插件李>
- 一行,但LS值存储在序列化视图中,即
。为此,在像这样插入之前需要一些预处理:['LRG','SML']
)'LS'=>json\u encode($this->input->post('LS'),
'LS'=>json\u编码($this->input->post('LS')),
而不是'LS'=>this->input->post('LS'),
。更改为'LS'=>json\u编码($this->input->post('LS'))并选择name=“LS[]),修复了错误“仅保存1个值的问题”。在数据库中保存仍然不正确,看起来是这样的[“LRG”,“SM”而不是LRG SML。是否要解决这个问题?谢谢。没有这样的问题。对于“LRG SML”,在“公共函数ajax\u update”中更改LS后,需要使用内爆('.$this->input->post('LS'))
“内爆(“”,$this->input->post('LS')”,更新模式填充除LS之外的每个字段。这可能是罪魁祸首--$('[name=“LS”]')).val(data.LS);