我有以下帖子请求。它正在成功发送所有其他字段。但是,无论我尝试什么,它都不会拿起复选框。我已经通过点击事件和警报测试了id,它肯定会引用复选框确定。
$.post("http://" + window.location.host + "/exec_messages_send.php",
{
receiver : $("#messages_receiver").val(),
title : $("#messages_title").val(),
body : $("#wysi_textarea_message_body").val(),
urgent : $("#messages_urgent").checked
}
这是用php:
呈现的htmlecho "<input type=\"checkbox\" id=\"messages_urgent\"> Mark as <span class=\"label label-important\">Urgent</span>";
如何获取复选框的值?我已经尝试过.val()和.attr('checked')和.checked以及其他一些方法......
答案 0 :(得分:3)
使用 -
urgent : $("#messages_urgent")[0].checked
或者
urgent : $("#messages_urgent").is(':checked');
答案 1 :(得分:0)
你试过
吗?$("#messages_urgent").is(':checked').val();
或者你可以直接喜欢
$("#messages_urgent:checked").val();
并为复选框
提供一些价值echo "<input type=\"checkbox\" value=\"my_value\" id=\"messages_urgent\"> Mark as <span class=\"label label-important\">Urgent</span>";
答案 2 :(得分:0)
我不确定我在这里理解您的问题,但可能只是使用.prop():
urgent : $("#messages_urgent").prop('checked')
答案 3 :(得分:0)
我假设您想以某种方式序列化表单。在您的示例中,您选择JS中的字段,但除非您需要动态更改数据的来源,否则使用提交表单的默认行为可以更轻松地获得相同的结果。
输入元素上似乎没有name
属性。默认情况下会忽略不带name
的输入,值为false
的复选框也会被忽略。但是你可以通过阅读其他答案中指出的checked属性来解决这个问题。
如果未选中,则通常序列化表单也会忽略复选框。例如。 How can I serializeArray for unchecked checkboxes?
答案 4 :(得分:0)
$('#messages_urgent').is(':checked')
将会......: - )
答案 5 :(得分:0)
试试这个
$("#messages_urgent").is(':checked'); // it returns true of false