2 回答

TA貢獻(xiàn)1820條經(jīng)驗 獲得超9個贊
在你原來的基礎(chǔ)上改了一點點
<form>
請選擇你愛好:
<br>
<input type="checkbox" name="hobby" id="hobby1"> 音樂
<input type="checkbox" name="hobby" id="hobby2"> 登山
<input type="checkbox" name="hobby" id="hobby3"> 游泳
<input type="checkbox" name="hobby" id="hobby4"> 閱讀
<input type="checkbox" name="hobby" id="hobby5"> 打球
<input type="checkbox" name="hobby" id="hobby6"> 跑步
<br>
<input type="button" value="全選" onclick="checkall();">
<input type="button" value="全不選" onclick="clearall();">
<p>請輸入您要選擇愛好的序號,序號為1-6:</p>
<input id="wb" name="wb" type="text">
<input name="ok" type="button" value="確定" onclick="checkone();">
</form>
<script type="text/javascript">
function checkall() {
//全選
var hobby = document.getElementsByTagName("input");
for (var i = 0; i < hobby.length; i++) {
if (hobby[i].type == "checkbox") {
hobby[i].checked = true;
}
}
}
function clearall() {
// 全不選
var hobby = document.getElementsByName("hobby");
for (var i = 0; i < hobby.length; i++) {
if (hobby[i].checked == true) {
hobby[i].checked = false;
}
}
}
function checkone() {
//選一個
var j = document.getElementById("wb").value;
var hobby = document.getElementsByName('hobby');
if (j <= 0 || j > 6) {
alert("請輸入正確的數(shù)字!");
} else
if (autoCheck("hobby", 3, 'checkone')) {
hobby[j - 1].checked = true;
}
}
// 輸入時 限制單個選中的最大個數(shù)
function autoCheck(name, limit, type) {
var hobby = document.getElementsByName(name);
if (type == 'checkone') {
var num = 1;
} else {
var num = 0;
}
for (var i = 0; i < hobby.length; i++) {
if (hobby[i].checked) {
num++
}
}
console.log(num)
if (num <= limit) {
return true;
} else {
alert('超限了親')
return false;
}
}
// 直接選擇時限制單個選中的最大個數(shù)
function sigleCheck() {
var hobby = document.getElementsByName('hobby');
if (autoCheck("hobby", 3)) {
for (var i = 0; i < hobby.length; i++) {
hobby[i].onclick = function (e) {
if (autoCheck("hobby", 3, 'sigleCheck')) {
e.target.checked = true;
} else {
e.target.checked = false;
}
}
}
}
}
sigleCheck()
</script>
</body>
添加回答
舉報