https://i.imgur.com/FEKEaqA.jpg
連結的圖片中,三個活動id都是radio1,
document.getElementById('radio1').checked = true
我上面的寫法,只能自動選到活動一的選項,
但我想要自動選到id=raio1的value=1169這個
就是活動三的選項,請問該怎麼寫才對,感謝回答
原網頁id用法用錯 所以我這邊使用tag name 跟 value 去指定你要的radio
<input type="radio" name="radio" id="radio1" value="1167">
活動1
<input type="radio" name="radio" id="radio1" value="1168">
活動2
<input type="radio" name="radio" id="radio1" value="1169">
活動3
<script>
let radio=document.querySelector("input[value='1169']");
radio.checked=true;
</script>
基本上 ID 在網頁內就是獨一無二的,所以最快的方法就是把其他的改為 radio2、radio3
不然就是用 class 找到全部,依順序判斷
备注:文档中的 ID 必须是唯一的。如果一个文档中有两个及以上的元素具有相同的 ID,那么该方法只会返回查找到的第一个元素。
雖然我沒看過你完整的 html,但是我猜情景是類似這樣:
你想將form的值,調回使用者上次的值
<form name="gendersForm">
<input type="radio" name="gender" value="M" /> Man
<input type="radio" name="gender" value="F" /> Woman
</form>
個人認為,正確的做法是
document.gendersForm.gender.value="F";
<form name="gendersForm">
<input type="radio" name="activity" id="activity_1" value="1167">
活動1
<input type="radio" name="activity" id="activity_2" value="1168">
活動2
<input type="radio" name="activity" id="activity_3" value="1169">
活動3
</form>
document.querySelector('input[name="activity"][value="1169"]').checked = true;
document.gendersForm.activity[2].checked = true;
兩樣都可以,id
是 identity
的縮寫,一個 DOM 裡面應該要是唯一的,你是用 editor 或 IDE 監控到 html 裡面超過一個 id 的話應該都會警告才對。