JQuery提交的复选框值未定义

时间:2009-05-19 00:49:04

标签: javascript jquery

我今天收到了一些非常好的帮助,因为我之前的运行正在运行,也许我也可以通过一些复选框得到一些帮助。有人可以告诉我我做错了吗?

谢谢!

复选框正确回显数据库bool值,但当我提交更改后的值时,alert()会告诉我它们未定义。

        else if (item.field == "admCustRptDly" && item.value == "1")
        {
          $('#admCustRptDly').attr('checked', true);
        }

        else if (item.field == "admCustRptSumm" && item.value == "1")
        {
          $('#admCustRptSumm').attr('checked', true);
        }

        else if (item.field == "admCustRptDtl" && item.value == "1")
        {
          $('#admCustRptDtl').attr('checked', true);
        }

<tr>
    <td class="admMarker">Daily<input type="checkbox" id="admCustRptDly" name="admCustRptDly" class="admChkbx"></td>
    <td class="admMarker">Summary<input type="checkbox" id="admCustRptSumm" name="admCustRptSumm" class="admChkbx"></td>
    <td class="admMarker">Detail<input type="checkbox" id="admCustRptDtl" name="admCustRptDtl" class="admChkbx"></td>
</tr>

$(function() {   $('.error').hide();
    $('input.text-input').css({backgroundColor:"#FFFFFF"});
    $('input.text-input').focus(function(){
        $(this).css({backgroundColor:"#FFDDAA"});
    });  
    $('input.text-input').blur(function(){
        $(this).css({backgroundColor:"#FFFFFF"});
    });

      $(".admCustBtn").click(function()
    {       // validate and process form
            // first hide any error messages
        $('.error').hide();



          var admCustRPSecPhone =
    $("input#admCustRPSecPhone").val();
          var admCustRptDly =
    $("checkbox#admCustRptDly").val();  
    var admCustRptSumm =
    $("checkbox#admCustRptSumm").val();
          var admCustRptDtl =
    $("checkbox#admCustRptDtl").val();

            var dataString =
        'admCustID='+ admCustID +
        '&admCustRptDly='+ admCustRptDly +
        '&admCustRptSumm='+ admCustRptSumm +
        '&admCustRptDtl='+ admCustRptDtl;

            alert (dataString);return false;

            $.ajax({
          type: "POST",
          url: "body.php?action=admCustomer",
          data: dataString,
          success: function(){
            alert( "Success! Data Saved");
          }
         });
        return false;   }); });

4 个答案:

答案 0 :(得分:1)

其实两个..

复选框没有值,所以如果你试图提醒()它们的值会导致“未定义”,但是如果你在提醒复选框时面对这个,你可能做错了。

将它们的值设置为true,不会产生任何结果,正如@Soviut所说,大多数属性在设置时重复它们的名称。所以你的输入会变成:

<input type="checkbox" checked="checked" value="1" name="myCheck" />

所以,试试上面的内容并给我们一些反馈='p

答案 1 :(得分:1)

对不起我的情况是.attr() - 对我来说很好,即使在adobe air中也是如此。

jQuery('#mycheckbox').attr( "checked" )

答案 2 :(得分:0)

您的HTML输入元素没有设置值属性

<input type="checkbox" value="1" id="admCustRptDly" name="admCustRptDly">

答案 3 :(得分:0)

复选框的选择器不正确。

  var admCustRPSecPhone = $("input#admCustRPSecPhone:checked").val() == 'on';
  var admCustRptDly = $("input#admCustRptDly:checked").val() == 'on';  
  var admCustRptSumm = $("input#admCustRptSumm:checked").val() == 'on';
  var admCustRptDtl = $("input#admCustRptDtl:checked").val() == 'on';

您还可以使用以下内容:

  var admCustRptDly = $("#admCustRptDly:checkbox:checked").val() == 'on';

这将根据是否选中复选框将值设置为true / false。