var getchecked = function(){
var array = []
var checkboxes = document.querySelectorAll('input[type=checkbox]:checked')
for (var i = 0; i < checkboxes.length; i++) {
array.push(checkboxes[i].value);
console.log(checkboxes[i].value);
}
}
document.MISRQ.RQ_ck01('input[type=checkbox]:checked')
這裡會出現錯誤
她錯誤訊息是抓不到這個函數
document.MISRQ.RQ_ck01('input[type=checkbox]:checked')
不是這樣寫啦!
document.querySelectorAll 這是js的函數,你的MISRQ應該沒提供這個prototype .. (猜)
我照著你的方式寫 可是alert會在一開始進表單就跳出
我再試試看~感謝您
我放這裡讓你去測試,我多一個button測試給你看,注意右下角console視窗
https://jsfiddle.net/japhenchen/gytbsoc3/1/
var chkbox="";
$("input[name=RQ_ck01]:checked").each(function(i){
if(chkbox=="")
{
chkbox=$(this).val();
}
else
{
chkbox+= "," + $(this).val();
}
});
if(chkbox=="")
{
alert("此項目未勾選!");
}
https://jsfiddle.net/s3ovmd8a/
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<script>
window.onload = function () {
document.getElementById('result_btn').onclick = function () {
let checkboxes = document.querySelectorAll('input[name=RQ_ck01]')
for (let checkbox of checkboxes) {
let label = document.querySelector(`label[for=${checkbox.id}]`).innerHTML
console.log(label, checkbox.value, checkbox.checked)
}
};
};
</script>
<body>
<div>
<input name="RQ_ck01" id="RQ_ck01_01" type="checkbox" value="1" />
<label for="RQ_ck01_01">方塊1</label>
</div>
<div>
<input name="RQ_ck01" id="RQ_ck01_02" type="checkbox" value="2" />
<label for="RQ_ck01_02">方塊2</label>
</div>
<div>
<input name="RQ_ck01" id="RQ_ck01_03" type="checkbox" value="3" />
<label for="RQ_ck01_03">方塊3</label>
</div>
<div>
<input name="RQ_ck01" id="RQ_ck01_04" type="checkbox" value="4" />
<label for="RQ_ck01_04">方塊4</label>
</div>
<button id="result_btn">確認結果</button>
</body>
</html>
你也不po你自已的程式碥。
然後已經有兩個給你現成的。
一個是原生js。一個是jquery。
你問都不問,研究都不研究的,就直接說問題。
沒$就是你沒載入jquery。
如果沒用jquery的話。
就先照著 japhenchen 給你的原生寫法。
要不然就是將你的程式碼po上來。
不需要大家猜半天你的問題。
我的寫法~你也是可以看看~
<input name="RQ_ck01" type="checkbox" value="1" />
<input name="RQ_ck01" type="checkbox" value="2" />
<input name="RQ_ck01" type="checkbox" value="3" />
<input name="RQ_ck01" type="checkbox" value="4" />
<input name="show" type="button" value="確認" onclick="ShowFun()" />
<script type="text/javascript">
function ShowFun() {
var RQ_ck01 = document.getElementsByName("RQ_ck01");
var RQ_yn = 1;
for (var i = 0; i < RQ_ck01.length; i++) {
if (!RQ_ck01[i].checked) {
RQ_yn = 0; ;
}
}
if (RQ_yn == 1) {
alert("已全勾選");
} else {
alert("沒有全勾選");
}
}
</script>
let checked = document.querySelector('[name=RQ_ck01]:checked')
if (checked) {
console.log("有選取")
} else {
console.log("未選取")
}
怎麼大家的回答都要迴圈啊?明明不需要啊。不是只要檢查是否勾選,有勾選就算有了吧?
附上如果要檢查每一個的code,IE11應該可以用。
var checkedBoxes = [].slice.call(document.querySelectorAll('[name=RQ_ck01]:checked'))
checkedBoxes.forEach(function(box) {console.log(box.value)})