使用Jquery AJAX复选框

时间:2010-01-14 09:59:09

标签: javascript jquery ajax

我正在使用JQuery来实现一些AJAX功能。但是当传递复选框的值时,无论是否勾选复选框,都会显示该值。这是我的代码:

$(document).ready(function(){ 
  $('#submitform').click(function(){
    $.ajax({
      type: "POST",
      url: "abs_newabs_check.asp",
      data: { allday: $("#allday").val() },
      success: callback
    });
  });
});

function callback(data, status)
{
    $("#ajaxdiv").html(data);
}

我做错了什么?任何帮助赞赏。感谢。

2 个答案:

答案 0 :(得分:7)

value访问的复选框的val()将始终与输入的value属性相对应。无论复选框的检查状态如何,始终设置哪个。您要检查的是checked属性:

{ allday: $('#allday').is(':checked') }

或者如果您确实想要传递该值,则在检查时:

{ allday: $('#allday').is(':checked') ? $('#allday').val() : '' }

答案 1 :(得分:2)

复选框是烦人的小虫子。您必须实际检查复选框上是否选中了“已选中”属性,如果是,则只需要应用该值。

所以如果你有一个复选框

<input type="checkbox" name="sports" value="soccer"  />

你想检查是否已在其上设置了checked属性

<input type="checkbox" checked="yes" name="sports" value="soccer"  />

值总是相同的,它是改变的状态