gpt4 book ai didi

javascript - IE 和 replaceWith 不保留单选按钮状态

转载 作者:行者123 更新时间:2023-11-30 06:49:13 28 4
gpt4 key购买 nike

我遇到了一个关于 replaceWith 不维护移动单选按钮输入状态的问题。我准备了一个简单的例子来说明这个问题。这适用于 FF 和 Chrome,但不适用于 IE。

有解决办法吗?

谢谢!

jsbin: http://jsbin.com/unola4/2

代码:

<html>
<head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<title>IE replaceWith issue</title>
<script type='text/javascript'>
$(function(){
$('a').click(function(e) {
e.preventDefault();
$('#temp').replaceWith($('#window').children());
});
});
</script>
</head>
<body>
<a href='#'>run replaceWith</a>
<p>Select a radio button and then click "run replaceWith". The value persists in FF, but not IE.</p>
<div id='window' style='background-color: #DDD; height: 100px;'>
<input id="id_received_date-days_0" type="radio" name="received_date-days" value="30" />
<input id="id_received_date-days_1" type="radio" name="received_date-days" value="50" />
<input type='text' name='test-test' />
</div>
<br />
<form id='foo' style='background-color: #EEE'>
<div id='temp'></div>
</form>
</body>
</html>

最佳答案

抓取勾选的ID,替换后再校验:

$('a').click(function(e) {
e.preventDefault();
var checkedOnes = $("#window input:checkbox:checked").map(function() {
return this.id;
}).get();
$('#temp').replaceWith($('#window').children());
$.each(checkedOnes, function(index, value) {
$("#" + value).attr("checked", "checked");
});
});

此外,当您复制这些元素时,您最终会得到重复的 ID。我假设你在更换后删除旧的?重复的 ID 可能是问题的原因吗?

关于javascript - IE 和 replaceWith 不保留单选按钮状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2767558/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com