Jquery表单重置函数不会重置复选框

j2cgzkjk  于 2022-12-03  发布在  jQuery
关注(0)|答案(2)|浏览(135)

我有一个包含复选框的表单,从脚本我根据一些要求选中和取消选中它们。在某个点上,我重置了表单$("#formId")[0].reset(),所有输入都被重置,复选框除外!!
我重置了表单,但复选框没有重置。

pobjuy32

pobjuy321#

<form id="cityForm" name= "input" action="#" method="get">
    <input type="text" name="cityName"><br>
    <input type="checkbox" id="city_1" name="city_1" value="New York">
    <label for="city_1"> New York</label><br>
    <input type="checkbox" id="city_2" name="city_2" value="Alaska">
    <label for="city_2"> Alaska</label><br>
    <input type="checkbox" id="city_3" name="city_3" value="California">
    <label for="city_3"> California</label><br>
    <input type="submit" id="citysubmit" value="Submit">
    <input type="reset" id="cityreset" value="Reset">
</form>

<script type="text/javascript">
    $('#cityreset').click(function(){
        $('#cityForm')[0].reset();
    });
</script>

请检查我的代码,让我知道,如果你发现任何问题

brjng4g3

brjng4g32#

  • 原来是因为我用的是attr('checked', true),所以我换成了prop('checked', true),它起作用了。
  • 经过一些调试之后,我发现attr()在输入(checked="checked")中添加了一个checked属性,而prop()没有添加任何内容。

因此,我建议您使用prop()的频率要高于使用attr()的频率

相关问题