2012-05-18 47 views
-2

我想添加一個if語句來包圍一些代碼。我需要我的if語句是(但jQuery的):如果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中的上述代碼。

由於提前,如果你需要更多的信息只是問:)

+0

你不想要jQuery,你想要JavaScript。看看這裏http://www.w3schools.com/js/js_if_else.asp –

+3

http://w3fools.com/ –

+0

對不起,我需要使用jquery是一個要求。 – Pomster

回答

0

這個效果很好。

SuretyFullName: { required: function (element) { if ($('#chkSuretyShip').is(':checked')) { return true } else { return false} } } 
1

試試這個:

if ($("#chkSurety").is(":checked")) { 
    // rest of code... 
} 
+0

看起來不錯,其他? – Pomster

+0

你是什麼意思? –

+0

需要else語句,如果不工作,我有一個綠線強調如果 – Pomster

3

假設你有複選框的chkSurety的ID,所有你想要做的就是更新該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, 
     ... 
}); 
+0

對不起,我需要一個if語句,這將不會爲我需要做的工作,我只是嘗試了它作爲一個測試,它不正確。 – Pomster

+0

@Pomster如果所需的結果與您的問題完全相同,那麼上面的代碼將起作用。如果根據檢查按鈕的狀態需要添加附加事件,則應該這樣說。 – Alnitak

+0

我不能。需要我的格式需要是:SuretyFullName:{required:true}並且if語句驅動 – Pomster

2

簡單地說這個:

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

如果你真的需要if - 語法:

 
var yourObject = {}; 
if (chkSurety.checked) { 
    yourObject.SuretyFullName = true; 
} else { 
    yourObject.SuretyFullName = false; 
} 

注意:if (chkSurety.checked == true)是多餘的,if (chkSurety.checked)比較好。

1

如果你能幫助它不包括整個jQuery庫,如果它只是那麼容易,因爲它是使用jQuery :-)要求使用純JavaScript

然而

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

http://jsfiddle.net/XXHrE/3/ - 測試出來......

+0

我的問題已經看起來像這樣,這是一個毫不費力的答案:|,我有要求使用jQuery。 – Pomster

+0

@Pomster更喜歡它嗎? – Greg

+0

我會檢查出來謝謝:) – Pomster

相關問題