Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单选是否有defaultValue属性?_Javascript_Jquery_Dom - Fatal编程技术网

Javascript 单选是否有defaultValue属性?

Javascript 单选是否有defaultValue属性?,javascript,jquery,dom,Javascript,Jquery,Dom,我想知道是否有办法将收音机重置为原来选择的选项。我知道输入的defaultValue,但有没有办法使其恢复到页面加载时的初始选择值 我不想简单地取消选择所有收音机。我试图将它们恢复到最初选择的值 谢谢提供任何信息。是的,无线电输入确实有defaultValue属性,但您要查找的是defaultChecked属性: $('input[type=radio]').prop('checked', function() { return this.defaultChecked; }); 也就是说

我想知道是否有办法将收音机重置为原来选择的选项。我知道输入的
defaultValue
,但有没有办法使其恢复到页面加载时的初始选择值

我不想简单地取消选择所有收音机。我试图将它们恢复到最初选择的值


谢谢提供任何信息。

是的,无线电输入确实有
defaultValue
属性,但您要查找的是
defaultChecked
属性:

$('input[type=radio]').prop('checked', function() {
   return this.defaultChecked;
});
也就是说,如果要重置表单,可以使用
HTMLFormElement
对象的
reset
方法:

$('#formElement').get(0).reset();
我想你想要这个

<form action="">
    <input type="radio" name="gender" value="male" checked="true"/>Male
    <input type="radio" name="gender" value="female"/>Female
    <input type="reset" value="reset"/>
</form>

男性
女性

每当您重置表单时,都会选择
male
单选按钮。

我宁愿制作一个jQuery插件,如下所示:

$.fn.defaultVal = function (checked) {
    if(checked === true || checked === false) {
        $(this).attr("data-default", checked);
        return;
    }
    if(!$(this).attr("data-default")) {
        console.log("No default value assigned!");
        return;
    }
    return $(this).attr("data-default");
}
jsiddle链接更新
工作演示在这里:

如果您想重置表单,请使用
HTMLFormElement
对象的
reset
方法。完美!没想到会这么简单。谢谢我并不是真的重置表单,我只是想模拟表单外表单字段的行为。这很有效。@Jeremy,非常欢迎你。地毯下有许多方法和属性非常有用这将以我需要的方式处理默认选中值,没有必要重新发明轮子,但如果需要,仍然是一个很好的工作循环。