-2

我想添加一个 if 语句来包围一些代码。我需要我的 if 语句(但在jquery中):

If (chkSurety.checked = true){
SuretyFullName: { required: true }, // This is validation plugin and must stay like this.
SuretyIDNumber: { required: true}, 
SuretyPhysicalAddress: { required: true }, 
SuretyHomeTel: { required: true}, 
SuretyPlace: { required: true}, 
SuretyDay: { required: true }, 
SuretyMonth: { required: true } 
}
Else
{
SuretyFullName: { required: false },
SuretyIDNumber: { required: true}, 
SuretyPhysicalAddress: { required: true }, 
SuretyHomeTel: { required: true}, 
SuretyPlace: { required: true}, 
SuretyDay: { required: true }, 
SuretyMonth: { required: true } 
}

这个 if 语句是 C# 我需要它是 jquery。这已经在一个事件中,所以不希望 checkbox.checked 成为事件,只需要 jquery 中的上述代码即可。

在此先感谢,如果您需要更多信息,请询问:)

4

5 回答 5

3

假设您的复选框的 ID 为chkSurety,并且您要做的就是SuretyFullName根据问题中给出的代码更新对象的状态:

SuretyFullName.required = $('#chkSurety').is(':checked');

或者(更有效地)没有 jQuery:

SuretyFullName.required = document.getElementById('chkSurety').checked;

似乎正在尝试为 jQuery 验证插件创建一些规则,因此:

// set the default rules
var rules = {
    SuretyFullName: { required: false },
    SuretyIDNumber: { required: true}, 
    SuretyPhysicalAddress: { required: true }, 
    SuretyHomeTel: { required: true}, 
    SuretyPlace: { required: true}, 
    SuretyDay: { required: true }, 
    SuretyMonth: { required: true } 
 };

 // override the full name rule, based on the checkbox
 rules.SuretyFullName.required = $('#chkSurety').is(':checked');

 $('#fmrMain').validate({
      rules: rules,
      ...
 });
于 2012-05-18T07:28:04.853 回答
2

简单地说:

var yourObject = {SuretyFullName: { required: chkSurety.checked }};

如果您if出于某种原因确实需要 -syntax:

var yourObject = {};
如果(chkSurety.checked){
    yourObject.SuretyFullName = true;
} 别的 {
    yourObject.SuretyFullName = false;
}

注意:if (chkSurety.checked == true)是多余的,if (chkSurety.checked)更好。

于 2012-05-18T07:30:29.227 回答
1

试试这个:

if ($("#chkSurety").is(":checked")) {
    // rest of code...
}
于 2012-05-18T07:27:59.540 回答
1

如果您可以帮助它,请不要包含整个 JQuery 库,如果它同样易于使用纯 JavaScript

但是,因为它是使用 JQuery 的要求:-)

if ($('#chkSurety').is(":checked")) {
    // checked
} else {
    // not checked
}

​​​http://jsfiddle.net/XXHrE/3/ - 测试它...

于 2012-05-18T07:34:39.290 回答
0

这完美地工作。

SuretyFullName: { required: function (element) { if ($('#chkSuretyShip').is(':checked')) { return true } else { return false} } }
于 2012-05-18T13:26:36.367 回答