【发布时间】:2017-07-22 18:24:58
【问题描述】:
我有一个带有复选框列的表格 - 当您单击复选框时,它会执行一个包含 AJAX 请求的脚本。我正在尝试将检查状态设置为变量,以便我可以将其作为参数包含在 AJAX POST 请求中,但到目前为止我无法将其放入变量中。
这是我的复选框输入字段,其脚本已简化为仅捕获 checkedState 变量中输入的选中状态:
$(document).ready(function() {
$("input.select-item").click(function() {
var productID = $(this).val();
var checkedState = $("input.select-item").attr("checked");
console.log(checkedState);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<td id="AT36288"><input type="checkbox" class="select-item checkbox" name="select-item" value="AT36288" /></td>
因此,如果未选中复选框并且用户选中了此复选框,我想捕获变量中“已选中”的值,如果选中了复选框并且用户未选中此复选框,我希望捕获“取消选中”变量。我在控制台中得到了 undefined 变量的结果。
【问题讨论】:
-
我只是将复选框放在 sn-p 中并关闭您的 DOM 就绪处理程序,它似乎工作得很好?
-
您最好使用
var checkedState = $("input.select-item").prop("checked");或var checkedState = $("input.select-item").is(":checked");。如果你想得到checked/uncheck字符串,你可以使用:var checkedState = $("input.select-item").is(":checked") ? "checked" : "uncheck";但是传递布尔值而不是(true or false)似乎更合法
标签: javascript jquery checkbox