Есть чекбокс, который обрабатывается аяксом. Осуществил показ текста при разном положении чекбокса(нет галочки = текст- "Открыто", есть - "Закрыто"). Ставлю галочку,текст "Закрыто"появляется, но при перезагрузки страницы текст ссбрасывает на "Открыто", галочка стоит.
За ранее благодарю за отведенное внимание на мой вопрос.
Собственно код:
шаблон:
<td>
<input type="checkbox" id="itemStatus_{$item['id']}" {if $item['status']}checked="checked"{/if} onclick="updateOrderStatus('{$item['id']}');"/>
<p class="msg">Открыт</p>
</td>
файл js:
function updateOrderStatus(itemId) {
var status = $('#itemStatus_' + itemId).attr('checked');
if(!status) {
status = 0;
}else {
status = 1;
$('.msg').text('Закрыт');
}
var postData = { itemId: itemId, status: status};
$.ajax({
type: 'POST',
async: true,
url: '/admin/setorderstatus/',
data: postData,
dataType: 'json',
success:function (data) {
if(!data['success']) {
alert(data['message']);
}
}
});
}
controller:
/**
* Установление нового статуса заказа
*/
function setOrderStatusAction() {
$itemId = $_POST['itemId'];
$status = $_POST['status'];
$res = updateOrderStatus($itemId,$status);
if($res) {
$resData['success'] = 1;
}else {
$resData['success'] = 0;
$resData['message'] = 'Ошибка установки статуса';
}
echo json_encode($resData);
return;
}