【发布时间】:2021-10-14 12:11:24
【问题描述】:
我有一个复选框,它在选中时更改文本(选中为文本 = 打开,取消选中为文本 = 关闭,此值为 0 和 1)我想通过 ajax 获取值 0 或 1(选中获取 1 取消选中获取 0)但是我混淆了我的代码
$("#onoff").click(function() {
if ($(this).is(':checked')) {
$("#hidden_onoff").text("ON");
} else {
$("#hidden_onoff").text("OFF");
}
});
$('#onoff').change(function() {
if ($(this).prop('checked')) {
$('#hidden_onoff').val('1');
} else {
$('#hidden_onoff').val('0');
}
});
$.ajax({
url: "/on_off",
method: "POST",
data: {
onoff: $("#hidden_onoff").val(),
},
success: function(data) {}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form method="post" id="on_off">
<div class="container">
<div class="form-check form-check-inline">
<input id="onoff" type="checkbox" checked="checked" />
<label class="checkbox-inline" id="hidden_onoff">ON</label>
</div>
</div>
</form>
【问题讨论】:
-
一个问题是表单和输入都有 ID“onoff”。在 HTML 中,IDs must be unique to the DOM tree,即不能重复。
-
抱歉,我已经编辑了我的表单 ID。但我的 ajax 没有得到价值
-
是什么触发了这个 ajax 请求?
标签: javascript jquery ajax checkbox