复选框数据不是由jquery发送的

时间:2013-01-01 08:08:49

标签: jquery

<script>
$(document).ready(function(){
  $("#result input[type='checkbox']").click(function(e){
        var chkval = 0
          if($('#result').is(':checked')){
            chkval  = 1;
          }
   $.ajax({
       url: "nsmsr.php",
       type: "POST",
       data:{'checkboxvalue':chkval},
       cache:false,
     });

   });  

});
</script>



<input type="checkbox" checked='checked'  id="result">

我使用此脚本将复选框值发送到php文件,但没有发布任何内容。我搜索了很多,但没有任何帮助我修复错误。

3 个答案:

答案 0 :(得分:1)

之前我并不是很专注,确实其他的回答者都是对的,你没有将你的click事件绑定到正确的元素。你的代码应该是:

<script>
$(document).ready(function(){

  $('#result').click(function(e){
      var chkval = 0;
          if($('#result').is(':checked')){
            chkval  = 1;
          }
   $.ajax({
       url: "nsmsr.php",
       type: "POST",
       data:{'checkboxvalue':chkval},
       cache:false,
     });

   });  

});
</script>



<input type="checkbox" checked='checked'  id="result">

答案 1 :(得分:0)

您的选择器错误,$("#result input[type='checkbox']")会尝试选择一个不存在的#result后代的复选框。只需使用$("#result")

$("#result").click(function(e){

答案 2 :(得分:0)

"#result input[type='checkbox']"指的是#result孩子,而不是#result本身。因为它是一个id,你应该使用

$("#result").click(function(e){

如果要将事件附加到页面上的所有复选框:

$("input[type='checkbox']").click(function(e){
    var chkval = 0
      if($( this ).is(':checked')){
        chkval  = 1;
      }
....