复选框不会在jquery中返回选中的值

时间:2013-06-17 12:32:42

标签: jquery checkbox

我有以下帖子请求。它正在成功发送所有其他字段。但是,无论我尝试什么,它都不会拿起复选框。我已经通过点击事件和警报测试了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:

呈现的html
echo "<input type=\"checkbox\" id=\"messages_urgent\"> Mark as <span class=\"label label-important\">Urgent</span>";

如何获取复选框的值?我已经尝试过.val()和.attr('checked')和.checked以及其他一些方法......

6 个答案:

答案 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