增加支付编辑功能
2015-07-25 10:17
681 查看
CMS框架基于Yii1.1
后端
modules:manage
controllers:AppChannelManage
action:AppManage+AppEdit+GetPayMethodsByAppID
基于action:AppManage修改
前端:jquery+ajax
views:appChannelManage.appManage
后端
modules:manage
controllers:AppChannelManage
action:AppManage+AppEdit+GetPayMethodsByAppID
基于action:AppManage修改
$allCheckboxes = array(); $allEnabledPayMethods = PayMethods::model()->findAllByAttributes(array('enable'=>1));//所有可用的支付方式 if($allEnabledPayMethods){ foreach ($allEnabledPayMethods as $value) { $allCheckboxes[$value['id']] = $value['name']; } } $this->render('appManage', array('records'=>$apps, 'pages'=>$pages, 'search_cond'=>$search_cond, 'allcheckboxes'=>$allCheckboxes, ));基于action:AppEdit修改
$allEnabledPayMethods = PayMethods::model()->findAllByAttributes(array('enable'=>1));//所有可用的支付方式 if($allEnabledPayMethods){ foreach ($allEnabledPayMethods as $value) { $paymethod = 'paymethod'.$value['id']; if( isset( $_POST[$paymethod] ) ) {//有 若不存在 则增加 //查数据库 echo $_POST[$paymethod]; $appPayMethodModel = AppPayMethods::model()->findByPk(array('pay_method_id'=>$value['id'],'app_id'=>$_POST['id'],'channel_id'=>$channel_id)); if(!$appPayMethodModel) { $appPayMethodModel = new AppPayMethods(); $appPayMethodModel->pay_method_id = $value['id']; $appPayMethodModel->app_id = $_POST['id']; $appPayMethodModel->channel_id = $channel_id; $appPayMethodModel->save(); } } else {//无 存在 则删除 $appPayMethodModel = AppPayMethods::model()->findByPk(array('pay_method_id'=>$value['id'],'app_id'=>$_POST['id'],'channel_id'=>$channel_id)); if($appPayMethodModel) { $appPayMethodModel->delete(); } } } }增加函数action:GetPayMethodsByAppID
public function actionGetPayMethodsByAppID() { $checkboxes = array(); $appId = $_POST['id']; $appPayMethods = AppPayMethods::model()->findAllByAttributes(array('app_id'=>$appId)); if($appPayMethods) { foreach ($appPayMethods as $appPayMethod) { $payMethod = PayMethods::model()->findByPk(array('id'=>$appPayMethod['pay_method_id'])); $checkboxes[$appPayMethod['pay_method_id']] = $payMethod['name']; } } echo json_encode(array('checkboxes'=>$checkboxes)); Yii::app()->end();
前端:jquery+ajax
views:appChannelManage.appManage
<?php foreach ($allcheckboxes as $key=>$value): ?> <input type="checkbox" id="<?php echo 'paymethod_id'.$key ?>" name="<?php echo 'paymethod'.$key ?>" value="<?php echo $value ?>" > <?php echo $value;?> <br> <?php endforeach; ?>
$.ajax({ type: "POST", data: {id:appinfo.id}, url: '/manage/appChannelManage/getPayMethodsByAppID', success: function(response, textStatus) { response = eval("(" + response + ")"); console.log(response); $.each(response.checkboxes ,function(index,element){ var paymethod = "paymethod_id" + index; $("#"+paymethod).prop("checked", true); }); edit_app(paymethods); }, error: function(xhr, textStatus, errThrown) { alert('获取paymethods字段失败,请检查网络或联系管理员: ' + xhr.status + ' ' + xhr.responseText); edit_app(paymethods); } });
$.each(paymethods ,function(index,element){ var paymethod = "paymethod_id" + index; $("#"+paymethod).prop("checked", false); });
相关文章推荐
- 一个关于if else容易迷惑的问题
- JQuery1——基础($对象,选择器,对象转换)
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JavaScript演示排序算法
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- jQuery Ajax 跨域调用
- 什么是设计模式
- jquery教程靠边站,一分钱不花让你免费学会jquery
- JQuery+Strusts1.x无刷新登录
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- 解决Ajax悬停效果,无法遮蔽FLASH的问题
- 再谈Jquery Ajax方法传递到action(补充)
- JQuery 初体验(建议学习jquery)
- Jquery实现的table最后一行添加样式的代码
- jQuery 练习[一] 学习jquery的准备工作
- jquery获得页面元素的坐标值实现思路及代码