public function actionAddtuisongid()
{
$id = $this->getRequestParam('id');
if (!$id) {
$this->ajaxReturn("", "勾選數據出錯", 0);
}
$sqinfo = $this->recommend->getOne("id=:id and disabled=:disabled", array(':id' => $id, ':disabled' => 0));
if (empty($sqinfo)) {
$this->ajaxReturn("", "未找到申請信息", 0);
}
if (1 == $sqinfo['is_tuisong']) {
$this->ajaxReturn("", "該信息已被推送", 0);
}
$status = $this->getRequestParam('status');
$session = Yii::$app->session;
if ($session->isActive) {
if (empty($session['tuisongid'])) {
$tuisongids = $session['tuisongid'] = new \ArrayObject;
} else {
$tuisongids = (array)$session['tuisongid'];
}
if ('true' == $status) {
$tuisongids[$id] = 1;
} else if ('false' == $status) {
var_export($id);
unset($tuisongids[$id]);
}
$session['tuisongid'] = $tuisongids; //注意賦值回來
} else {
$this->ajaxReturn("", "session未開啓", 0);
}
// var_export($tuisongids);
}
前端:
$(".zg_rc1 :checkbox").on("change",function(){
// var $checkbox = $(this);
// console.log($('input:checked').length);
console.log($(this).val());
console.log(this.checked);
var id = this.value;
var status = this.checked;
$.ajax({
type: "POST",
url: "<?=Yii::$app->urlManager->createUrl('/Zhaopin/recommend/addtuisongid'); ?>",
data: {"id" : id, "status" : status},
dataType: "JSON",
success: function ($data) {
console.log(data);
}
})
});
===========如果是批量===========================
//勾選批量時
public function actionAddtuisongids()
{
$ids = $this->getRequestParam('ids');
$status = $this->getRequestParam('status');
if (!$ids) {
$this->ajaxReturn("", "勾選數據出錯", 0);
}
$session = Yii::$app->session;
// unset($session['tuisongid']);die;
$tuisongids = (array)$session['tuisongid']; // 50147 => 1
$tuisongidsFlip = array_flip($tuisongids); // 1=> 50147
if ('true' == $status) {
$tuisongids = array_unique(array_merge($tuisongidsFlip, $ids));
$tuisongids = array_flip($tuisongids);
}
if ('false' == $status) {
$tuisongids = array_unique(array_diff($tuisongidsFlip, $ids));
$tuisongids = array_flip($tuisongids);
}
$session['tuisongid'] = $tuisongids;
var_export((array)$session['tuisongid']);
}
批量前端
function checkAll(o){
var selectIds = [];
var unselectIds = [];
$('input[name*="id"]').attr('checked',o.checked);
//勾選的
if (o.checked == true) {
$('input[name*="id"]:checked').each(function () {
selectIds.push(this.value);
});
$.ajax({
type: "POST",
url: "<?=Yii::$app->urlManager->createUrl('/Zhaopin/recommend/addtuisongids'); ?>",
data: {"ids" : selectIds, "status" : o.checked},
dataType: "JSON",
success: function ($data) {
console.log(data);
}
})
}
//未勾選的
if (o.checked == false) {
$('input[name*="id"]:not(:checked)').each(function () {
unselectIds.push($(this).val());
});
$.ajax({
type: "POST",
url: "<?=Yii::$app->urlManager->createUrl('/Zhaopin/recommend/addtuisongids'); ?>",
data: {"ids" : unselectIds, "status" : o.checked},
dataType: "JSON",
success: function ($data) {
console.log(data);
}
})
}
// finalIds = selectIds.filter(function(v){
// return unselectIds.indexOf(v) < 0 // 利用filter方法來遍歷去差集
// });
// console.log(finalIds);
}