3 回答

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
<script type="text/javascript">
? ? ? ? function checkall(){
? ? ? ? ? ? var hobby = document.getElementsByTagName("input");
? ? ? ? ? ? for(i=0;i<hobby.length;i++){
? ? ? ? ? ? ? ? if(hobby[i].type=="checkbox"){
? ? ? ? ? ? ? ? ? ? hobby[i].checked=true;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? // 任務(wù)1 ? ?
? ? ? ? }
? ? ? ? function clearall(){
? ? ? ? ? ? var hobby=[];
? ? ? ? ? ? var input = document.getElementsByTagName("input");
? ? ? ? ? ? for(var i=0;i<input.length;i++){
? ? ? ? ? ? if(input[i].getAttribute('name')=='hobby'){
? ? ? ? ? ? hobby.push(input[i])
? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? for(i=0;i<hobby.length;i++){
? ? ? ? ? ? ? ? if(hobby[i].type=="checkbox"){
? ? ? ? ? ? ? ? ? ? hobby[i].checked=false;
? ? ? ? ? ? ? ? };
? ? ? ? ? ? ?
? ? ? ? ? ? }
? ? ? ? ?// 任務(wù)2 ? ??
? ? ? ? }
? ? ? ? ?
? ? ? ? function checkone(){
? ? ? ? ? ? var j=document.getElementById("wb").value;
? ? ? ? ? ? var input = document.getElementsByTagName("input");//這句不能少,要不系統(tǒng)不知道hobby.是什么東西
? ? ? ? ? ? var hobby=[];
? ? ? ? ? ? for(var i=0;i<input.length;i++){
? ? ? ? ? ? if(input[i].getAttribute('name')=='hobby'){
? ? ? ? ? ? hobby.push(input[i])
? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? if(j>6||j<=0){
? ? ? ? ? ? ? ? console.log("請(qǐng)確認(rèn)輸入的值!") ? ? ? ? ? ? ? ?
? ? ? ? ? ? }
? ? ? ? ? ? else{
? ? ? ? ? ? //我這里要寫(xiě)的是
? ? ? ? ? ? //A:實(shí)現(xiàn)1,3這種識(shí)別方法,識(shí)別第一個(gè)和第三個(gè)選框??????????
? ? ? ? ? ? //B:若有勾已經(jīng)被選中了,則去除那個(gè)才選中別的 ? ? ? ? ? ?
? ? ? ? ? ? ? ? clearall();//在執(zhí)行輸入框選擇前先清除先前的選擇,但是一運(yùn)行這句話后hobby[j-1].
? ? ? ? ? ? ? ? //checked=true就不起作用了,為什么?
? ? ? ? ? ? ? ? hobby[j-1].checked=true;
? ? ? ? ? ? ? ? console.log(hobby[j-1]); //這里也不顯示相關(guān)信息,不知道哪里用錯(cuò)了? ? ? ? ? ? ?
? ? ? ? ? ? }
? ? ? ? ?// 任務(wù)3
? ? ? ? ?
? ? ? ? }
? ? ? ? ?
? ? ? ? </script>
獲取的input name=hobby方法不是很對(duì)

TA貢獻(xiàn)9條經(jīng)驗(yàn) 獲得超1個(gè)贊
你的clearall函數(shù)里的for(i=0;hobby.length;i++){
改為for(i=0;i<hobby.length;i++){
然后你現(xiàn)在實(shí)現(xiàn)的識(shí)別只能單選的1-6,如果用1,3這種形式就會(huì),因?yàn)閖='1,3'出現(xiàn)無(wú)法識(shí)別hobby[j-1]的錯(cuò)誤。
如果要多選,checkone函數(shù)要改成:
????????function?checkone(){ ????????????var?j=document.getElementById("wb").value; ????????????var?hobby?=?document.getElementsByName("hobby");//這句不能少,要不系統(tǒng)不知道hobby.是什么東西 ????????????//j得到的是1,3,4這樣的字符串 ????????????if(j=='') ??????????????alert("請(qǐng)確認(rèn)輸入的值!"); ????????????else{ ??????????????var?str=j.split(',');//通過(guò)分割','符號(hào)分割成數(shù)組[1,3,4] ??????????????clearall(); ??????????????for(var?i=0;i<str.length;i++){ ????????????????if(0<str[i]?&&?str[i]<7) ??????????????????hobby[str[i]-1].checked=true; ??????????????} ????????????} ????????}

TA貢獻(xiàn)13條經(jīng)驗(yàn) 獲得超1個(gè)贊
var?hobby?=?document.getElementsByName("hobby");
這句是獲取名稱為‘hobby’的對(duì)象的集合。
至于其他問(wèn)題都是因?yàn)橄旅孢@段代碼錯(cuò)了
for(i=0;hobby.length;i++){
應(yīng)該為
for(i=0;?i?<?hobby.length;?i++){
添加回答
舉報(bào)