-------------------------------------------------------------------------
HTML部分:
<table>
<tr class="active ">
<td>排序</td>
<td>序号</td>
</tr>
<?php if($lesson_list):?>
<?php foreach($lesson_list as $val):?>
<tr>
<td><input class="form-control" type="text" name="lesson_sort" value="<?=$val['lesson_sort'];?>"></td>
<td><?=$val['id'];?></td>
</tr>
<?php endforeach;?>
<?php endif;?>
</table>
相关要点:
/**
* 如何判断对象存在或为空 *
*/
1. JS判断对象是否存在:
if(typeof myObj == 'undefined')
{
var myObj = {}
};
2. 判断对象是否为空:
/**
* 判断对象是否为空
* @param obj obj 对象
* @return bool true非空,false为空
* @Chenwei <www.chenwei.ws>
*/
function isEmptyObj(obj)
{
var k = 0;
var obj = obj;
for(var i in obj)
{
k++;
}
if(k != 0)
{
return true;
}
else
{
return false;
}
}
JS端:
(一) /** * 索引数组形式 */
var info = new Array(); //创建数组对象,这里不能使用var info = {}; 提示info.push is not a function
$('input[name="lesson_sort"]').each(function(i, n){
var id = $(this).parent('td').next('td').text();
var lesson_sort = $(this).val();
info.push(lesson_sort); //数组尾部添加元素,索引数组形式
});
//console.log(info); //索引数组对象储值,["0","0","0"]
var str = JSON.stringify(info); //转为字符串,["0","0","0"]
(二)
/**
* 前台保存提交排序(关联数组形式)
*/
function saveCateSort()
{
var info = {}; //创建对象,这里不能使用var info = new Array(); 最后输出的值并非关联数组
$('input[name="lesson_sort"]').each(function(i, n){
var id = $(this).parent('td').next('td').text();
var lesson_sort = $(this).val();
info[id] = lesson_sort; //关联数组储值
});
//console.log(info); //Object { 67="0", 68="0", 69="0"}
var str = JSON.stringify(info); //转为json字符串,{"67":"0","68":"0","69":"0"}
if(isEmptyObj(info)){
//非空时更新
$.post(base_url + '?d=admin&c=cate&m=ajax_cate_sort', {str:str}, function(data){
if(data == '1'){
my_custom_tips('操作成功!', 2000, 1);
}else{
my_custom_tips(data, 2000);
}
});
}else{
//空时提示
my_custom_tips('操作成功!', 2000, 1);
}
}
PHP端:
/**
* 保存排序(控制器方法,局部) */
public function ajax_save_sort()
{
$str = json_decode($this->input->post('str')); if($str)
{
foreach($str as $k=>$v)
{
$data['cate_sort'] = $v;
$bool = $this->cate->updateCateSort($k, $data);
}
if( ! $bool)
{
echo '操作失败!'; exit;
}
else
{
echo '1';
}
}
else
{
echo '1';
}
}
/**
* 保存排序(模型控制器方法,局部)
*/
public function updateCateSort($id, $data)
{
if($id && $data && is_array($data))
{
$where = array('id' => $id);
$bool = $this->db->where($where)->update('category', $data);
return $bool;
}
else
{
return false;
}
}
Refer:如何用JS数组储值
Link:https://www.cnblogs.com/farwish/p/3985762.html
|
请发表评论