-2

如果选中了一个特定的复选框,我想运行另一段 jQuery 代码。

这是我的 jsFiddle:http: //jsfiddle.net/Q7kq5/3/

我现在的 JS 代码非常简单:一个只允许选中 1 个复选框,另一个用于验证。但我确信它不会削减它。不知道从那里去哪里:

$(document).ready(function(){
  $("#Method input:checkbox").change(function() {
  if (this.checked) {
    var checkname = $(this).attr("name");
    $("input:checkbox[name='" + checkname + "']").not(this).removeAttr("checked");
    }
  });
  jQuery.validator.setDefaults({
    debug: false,
    success: "valid"
    });
  $("#CheckOut").validate({
    rules: {
    FirstName: {
    required: true
    },
    LastName: {
    required: true
    },
    Email: {
    required: true,
    email: true
    },
    Phone: {
    required: true,
    digits:true
    },
    Address1: {
    required: true
    },
    City: {
    required: true
    },
    PostalCode: {
    required: true,
    digits: true
    },
    Country: {
    required: true
    },
    State: {
    required: true
    },
    pwd: {
    required: true
    },
    pwd_confirm: {
    required: true
    },
    FName_SHIP: {
    required: true
    },
    LName_Ship: {
    required: true
    },
    Phone_Ship: {
    required: true,
    digits: true
    },
    Address1_Ship: {
    required: true
    },
    City_Ship: {
    required: true
    },
    PostalCode_SHIP: {
    required: true,
    digits: true
    },
    COUNTRY_SHIP: {
    required: true
    },
    State_SHIP: {
    required: true
    },
    NameOnCard: {
    required: true
    },
    CreditCardType: {
    required: true
    },
    CardNumber: {
    required: true,
    digits: true
    },
    CardExpMonth: {
    required: true
    },
    CardExpYear: {
    required: true
    },
    CVC: {
    required: true,
    digits: true
    }
  }
  });
});

我要做什么:如果检查了信用卡方法,请使用 jQuery 验证器 JS 来验证 CC 字段。如果选中 On Account 方法,则使用 jQuery 验证器 JS 仅验证 On Account 字段。

但是,如果其中一个没有被选中,我不希望 jQuery 验证器 JS 来验证这些字段。

谢谢!

4

1 回答 1

0

为什么不编写一个在单击复选框时运行 onclick 并确定选中哪个复选框然后基于此执行某些逻辑的 javascript 函数?

喜欢:

<input type="checkbox" name="creditcard" id="creditcard" onclick="validate()">
<input type="checkbox" name="onaccount" id="onaccount" onclick="validate()">

function validate
{
if($("#creditcard").attr("checked"))
    {
    do credit card stuff;
    }
else if($(#onaccount).attr("checked"))
    {
    do on account stuff;
    }
else
    {
    do nothing;
    }
}

这显然是粗略的代码,但希望你明白我的意思!

于 2013-09-19T19:12:34.490 回答