设为首页 收藏本站
查看: 1140|回复: 0

[经验分享] [jQ/PHP]使用JS数组储值的两种情况(提交PHP处理)

[复制链接]

尚未签到

发表于 2015-8-25 09:14:17 | 显示全部楼层 |阅读模式
  ----------------------------------------------------------------------------------------------------
  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>
  相关要点:



/**
* 如何判断对象存在或为空
* @黑眼诗人 <www.chenwei.ws>
*/
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;
}
}
  -----------------------------------@黑眼诗人 <www.farwish.com>-------------------------------
  JS端:



(一)
/**
* 索引数组形式
* @黑眼诗人 <www.farwish.com>
*/
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"]

(二)
/**
* 前台保存提交排序(关联数组形式)
* @黑眼诗人 <www.farwish.com>
*/
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端:



/**
* 保存排序(控制器方法,局部)
* @黑眼诗人 <www.farwish.com>
*/
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';
}
}
/**
* 保存排序(模型控制器方法,局部)
* @黑眼诗人 <www.farwish.com>
*/
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;
}
}
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-103832-1-1.html 上篇帖子: php FPDF类库应用实现代码 下篇帖子: AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表