<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>checkbox</title> <script src="jquery.js"></script> </head> <body> <form action="#" id="form"> <input type="checkbox" name="city" value="南京">南京 <input type="checkbox" name="city" value="北京">北京 <input type="checkbox" name="city" value="纽约">纽约 <input type="checkbox" name="city" value="其他" id="other" onclick="change()">其他 <input type="text" style="display: none" id="txt"> </form> <script> // jQuery // $(function () { // $("#other").click(function () { // if($(this).attr("checked")){ // $("#txt").css("display","block") // }else { // $("#txt").css("display","none") // } // }) // }) // 原生JS function change() { var other = document.getElementById("other"); var txt = document.getElementById("txt"); if (other.checked == true) { txt.style.display = "block"; }else{ txt.style.display = "none"; } } </script> </body> </html>
如果用js改变checkbox的值,onchange不会被触发。事件一般是监听用户的动作,用js改不属于用户动作。另:document.getElementById("otherRoute").checked=true;都在js改变checkbox的值了,在这句的后面就执行onchange方法的内容不就行了,就酱
时间: 2024-11-08 15:23:30