我嘗試複選框ID添加到使用的JavaScript語言的數組,這是我的代碼:爲什麼不能將字符串添加到JavaScript數組中?
function checkBoxClick(e) {
alert("a");
var arr = new Array();
var rule = new Array();
var chkId = $(e).attr("id");
var tempId = "";
var tempElementId = "";
$("input[class='singlechk']").each(function() {
var elementId = $(this).attr("id");
var larr = $(this).attr("id").split('-');
tempElementId = elementId;
if (tempId == "") {
tempId = larr[0];
} else {
if (tempId != larr[0]) {
rule.push(arr);
arr = [];
arr.push(tempElementId);
} else {
arr.push(tempElementId);
}
}
});
}
我每次每複選框,其中類是「singlechk」。將id推入數組arr中,但每次都添加最後一個元素,並且第一個元素不能推入數組中。
這是我的html代碼:
<div class="container">
<h3 id="question_1">飯菜質量
<span>(單選)</span>
</h3>
<br />
<input name="wjdc" class="singlechk" id="item_1-1" type="checkbox" onclick="checkBoxClick(this)" />
<span>一般</span>
<br />
<input name="wjdc" class="singlechk" id="item_1-2" type="checkbox" onclick="checkBoxClick(this)" />
<span>很好</span>
<h3 id="question_2">就餐環境
<span>(單選)</span>
</h3>
<br />
<input name="wjdc" class="singlechk" id="item_2-3" type="checkbox" onclick="checkBoxClick(this)" />
<span>很好</span>
<br />
<input name="wjdc" class="singlechk" id="item_2-4" type="checkbox" onclick="checkBoxClick(this)" />
<span>一般</span>
</div>
這是正確的結果可能是:
var rule = [["item_1-1", "item_1-2"], ["item_2-3", "item_2-4"]];
我的問題是:爲什麼陣列跳投輸出
var rule = [["item_1-2"], ["item_2-4"]];
? – Satpal
我想清空舊數組 – Dolphin