У меня есть CheckBox, который работает как тумблеры, и по умолчанию он установлен Checked/ON
, и когда я UnChecked/OFF
CheckBox, он передаст значение (ВЫКЛ), не проблема, но когда я снова проверил флажок, он не может передать значение (ВКЛ).
Может кто-нибудь, пожалуйста, помогите мне или направьте меня в правильном направлении!
Заранее спасибо:)
Пример со снимками экрана:
По умолчанию установлено Проверено / ВКЛ
Теперь я отключен / выключен, его передать значение
Теперь я снова проверил / ВКЛ, он не может передать значение
Вид:
<tbody>
@foreach (var rma in Model)
{
<tr>
<td>
<label class="switch switch-text switch-primary switch-pill">
<input type="checkbox" class="switch-input" checked>
<span data-on="ON" data-off="OFF" class="switch-label"></span>
<span data-id="@rma.Id" class="switch-handle"></span>
</label>
</td>
</tr>
}
</tbody>
JavaScript:
<script>
$(document).ready(function () {
$('.switch-handle').click(function () {
var Id = $(this).data('id');
var checkStatus = this.checked ? 'ON' : 'OFF';
$.ajax({
type: "POST",
url: '@Url.Action("UpdateNtf", "Account")',
data: {
id: Id,
status: checkStatus
},
dataType: 'json',
success: function (result) {
if (result) {
console.log("Ok");
} else {
console.log("error");
}
},
error: function () {
console.log('something went wrong - debug it!');
}
})
});
});
</script>
Контроллер:
public JsonResult UpdateNtf(int? id, string status)
{
var result = db.RMA_History.Where(a => a.Id == id).FirstOrDefault();
if (result != null)
{
result.NTFOnOFF = status;
db.SaveChanges();
}
return Json(result,JsonRequestBehavior.AllowGet);
}