您的位置:首页 > Web前端 > JQuery

增加支付编辑功能

2015-07-25 10:17 681 查看
CMS框架基于Yii1.1

后端

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);
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php jquery ajax yii1.1