Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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更新名称属性时丢失选中状态_Javascript_Jquery_Html - Fatal编程技术网

防止单选按钮在通过JavaScript更新名称属性时丢失选中状态

防止单选按钮在通过JavaScript更新名称属性时丢失选中状态,javascript,jquery,html,Javascript,Jquery,Html,我有一个结构化和层次化的HTML元素集合。添加或删除元素时,我会更新其同级元素,以便在元素属性中反映正确的序列顺序。此操作的一部分涉及更新单选按钮上的名称属性 由于单选按钮按名称分组,更改名称会导致单选按钮的“选中”状态丢失 对于我遇到的问题的一个例子,签出-签出一个单选按钮,然后执行代码,您将看到状态丢失。我正在寻找一种解决方法,允许我在操作name属性时保持每个单选按钮的选中状态。此代码在JS Fiddle示例中运行良好。如果将HTML更改为: <input type="radio"

我有一个结构化和层次化的HTML元素集合。添加或删除元素时,我会更新其同级元素,以便在元素属性中反映正确的序列顺序。此操作的一部分涉及更新单选按钮上的名称属性

由于单选按钮按名称分组,更改名称会导致单选按钮的“选中”状态丢失


对于我遇到的问题的一个例子,签出-签出一个单选按钮,然后执行代码,您将看到状态丢失。我正在寻找一种解决方法,允许我在操作name属性时保持每个单选按钮的选中状态。

此代码在JS Fiddle示例中运行良好。如果将HTML更改为:

<input type="radio" name="group1" checked="checked"> Option 1 <br/>
<input type="radio" name="group1"> Option 2 <br/>
<input type="radio" name="group1"> Option 3 <br/>
选项1
选项2
选项3
然后“运行”小提琴,复选框名称更改,复选框保持选中状态

别忘了标签

<label for="group1_a">
    <input type="radio" id="group1_a" name="group1" checked="checked">
    Option 1</label><br/>
<label for="group1_b">
    <input type="radio" id="group1_b" name="group1">
    Option 2</label><br/>
<label for="group1_c">
    <input type="radio" id="group1_c" name="group1">
    Option 3</label><br/>

选项1
选项2
选项3

看起来它可能是JSFIDLE的一个工件。你有没有在它之外尝试过这个代码?什么意思?检查一个单选按钮,然后执行代码?当您单击jsFiddle上的run时,它将完全重新加载右下角的iframe。代码一运行,jQuery就被执行了。。。你吃得对。当我可以通过单击按钮来执行时,我将更新JSFIDLE。我在JSFIDLE之外也遇到了这个问题。显然,我的代码中还有其他东西导致了我的问题。我已经更新了JSFIDLE,似乎更改name属性对选中状态没有影响,但是当我删除实际代码中更改名称的行时,我的问题就消失了。当我查到底的时候,我会在这里更新。