我有一個表單中的問題,詢問您是否使用過酒精,毒品,「Both」,「777」,「999」。javascript for ... in + if-test(在表單內部的一個開關內部)
alcohol:question 2;毒品:問題3;兩個:問題2 + 3;既不或「777」或「999」:問題4.
我有一個jQuery的變化()聽設定(和工作),我有一個switch語句設置和大部分工作,除了neither||"777"||"999"
。在case "neither…"
內部,我有一個數組vices
和一個for…in
循環。我的假設是for…in
的功能類似於php的foreach
。
我需要檢測,如果問題是不已經inactive
之前,我隱藏它,並將其值設置爲不適用(所以我知道這是有目的的,而不是留空)。
case "neither" || "777" || "999":
var vices = new Array('alcohol','drugs');
for (vice in vices) {
if ($("ul#vice").hasClass("inactive") == false) {
$("ul#vice").append('<input name="'+vice+'" type="radio" value="not applicable" checked="checked" />');
$("ul#vice").delay(250).queue(function() {$(this).addClass("inactive");queue()});
}
}
我認爲這個問題與$("ul#vice")
有關,但我不確定。 (我試過$("ul#"+vice)
,但那也沒有效果)。
一個問題的東西看起來像:
.inactive{display:none; z-index:-5}
#
<ul id="alcohol" class="inactive">How many alcoholic drinks do you have?
<li><input name="alcohol" type="text" maxlength="2" /><span id="alcohol" class="inactive"></span></li>
<li><input name="alcohol" type="radio" value="777" />Don't know</li>
<li><input name="alcohol" type="radio" value="999" />Prefer to not answer</li>
<input name="alcohol" type="radio" value="not applicable" checked="checked" />
</ul>
提前感謝!
好吧,快速搜索會告訴你'for ... in'實際上是如何工作的:http://www.w3schools.com/js/js_loop_for_in.asp – Blazemonger