在 .ajax 数据中使用 jQuery 获取复选框值

新手上路,请多包涵

我正在尝试使用 .ajax 传递一个布尔值(选中/未选中),但我无法让它工作。我已经阅读了很多关于如何使用 .is(':checked').prop('checked') 获取复选框值的内容,但我似乎无法使任何工作正常进行。

这是我的 HTML:

 <input type="checkbox" id="typeOfSearch" value="TRUE">
<label for="typeOfSearch">Exact Search?</label>

这是我的 JavaScript

    $.ajax({
            url: 'partsTable.php',
            type: 'post',
            dataType: 'html',
            data: {
                major: $('select#dropdownMajor').val(),
                minor: $('select#dropdownMinor').val(),
                typeOfSearch: $('checkbox#typeOfSearch').prop('checked')
                },
                success: function(data) {
                    var result = data
                    $('#fromPartsTable').html(result);
                }
            });

我可以使脚本适用于 select 框,并且在我添加复选框后这些框继续工作,但未传递复选框的值。

我感兴趣的是通过“已检查”与“未检查”。

任何帮助,将不胜感激。谢谢。

原文由 blackandorangecat 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 562
2 个回答

您使用的选择器无效。使用 input 代替。

你的 HTML 有 input 元素,

 <input type="checkbox" id="typeOfSearch" value="TRUE">
<label for="typeOfSearch">Exact Search?</label>

 function send() {

  $.ajax({
    url: 'partsTable.php',
    type: 'post',
    dataType: 'html',
    data: {
      major: $('select#dropdownMajor').val(),
      minor: $('select#dropdownMinor').val(),
      typeOfSearch: $('input#typeOfSearch').prop('checked')
    },
    success: function(data) {
      var result = data
      $('#fromPartsTable').html(result);
    }
  });

}

$('#submit').click(function() {
  send();
});

原文由 ScanQR 发布,翻译遵循 CC BY-SA 3.0 许可协议

希望这可以帮助 :)

 $(document).ready(function() {
    //set initial state.
    $('#typeOfSearch').change(function() {
        $('#typeSelected').html(($(this).is(':checked') ? "TRUE" : "FALSE"));
    });
});
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="typeOfSearch" /> This Type
<br>
Type Selected:
<span id="typeSelected">FALSE</span>

原文由 Brmmmm 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏