2012-10-04 45 views
1

如果我有低於這個name屬性複選框:複選框,無法顯示name屬性

name="answerName[True]"

爲什麼當我在下面[執行它不顯示覆選框這個jQuery行?

$(this).closest('.option').siblings('.answer').find('input[name=answerName[Yes]]').show();

如果name屬性是這樣的:

name="answerNameTrue"

和jQuery的是這樣的:

$(this).closest('.option').siblings('.answer').find('input[name=answerNameYes]').show();

那麼它確實表明,但如何當我把來[]圍繞它的括號,它突然不起作用,不顯示覆選框?

+0

你[是]被簡單地與選擇器托架 –

+1

answerNameTrue和answerNameYes衝突的可以不相等。 – Dev

回答

3

您可以使用引號:

$(this).closest('.option').siblings('.answer').find('input[name="answerName[Yes]"]').show(); 
+0

是把報價單,將有助於解決這個問題。乾杯:) – user1701484

0

True是一個JavaScript關鍵字。

這可能是這個被搞砸的原因之一..

嘗試把屬性的行情,然後嘗試..

.find('input[name="answerName[Yes]"]') 
0

你的[是]只是與選擇器的支架相沖突

Jquery將解析:

find('input[name=answerName[Yes]]') 

,並會不斷:

find('input[name=answerName[Yes]'); 

所以最終你有一個[jQuery的不知道該怎麼用它做+額外]在你選擇結束。

嘗試逸出它:

find('input[name=answerName\[Yes\]]') 

find('input[name="answerName[Yes]"]')