将复选框选中的值传递给脚本变量

时间:2017-07-22 10:04:07

标签: javascript jquery checkbox

我有一个带有复选框列的表 - 当您单击该复选框时,它会执行包含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结果。

2 个答案:

答案 0 :(得分:1)

第一次:您需要使用$(this).is(":checked")

第二名:您需要使用$(this)代替$("input.select-item").attr("checked"),因为您需要引用currently clicked元素而不是class name {{1 }}

&#13;
&#13;
$("input.select-item")
&#13;
$(document).ready(function() {
  $("input.select-item").click(function() {
    var productID = $(this).val();
    var checkedState = $(this).is(":checked");
    console.log(checkedState);
  });
});
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以通过更改事件更好地跟踪复选框和radioboxes事件。 在jQuery中,您可以通过以下方式检查输入字段的状态: $(“input.select-item”)。是(“:checked”)或 只需$(“。select-item”)。is(“:checked”) 希望这会有所帮助。