gpt4 book ai didi

javascript - 使用输入值作为 id 切换问题

转载 作者:行者123 更新时间:2023-11-29 19:32:37 25 4
gpt4 key购买 nike

我正在尝试使用 jQuery 的 .toggle() 来显示和隐藏三个 div 之一。 div 具有唯一的 id,切换哪个 div 的决定取决于选择了三个单选按钮中的哪一个。三个单选按钮的值对应于 div 的 ID。因此,如果有人单击 -1 单选按钮,则应切换 ID 为 cMB_0292_A07.m1 的 div。

但是,我根本没有收到任何响应,而且在我尝试过的调试器中也没有任何错误报告。怎么了?

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
function showdiv(obj) {
var n = obj.name;
var v = $("input:radio[name='" + n + "']:checked").val();
alert(v);
$("#" + v).toggle();
}
</script>
</head>
<body>
<input name="cMB_0292_A07" value="cMB_0292_A07.m1" onclick="showdiv(this);" type="radio">-1
<input name="cMB_0292_A07" value="cMB_0292_A07.0" onclick="showdiv(this);" type="radio">0
<input name="cMB_0292_A07" value="cMB_0292_A07.p1" onclick="showdiv(this);" type="radio">+1
<div id="cMB_0292_A07.m1" style="display: none">minus1</div>
<div id="cMB_0292_A07.0" style="display: none">zero</div>
<div id="cMB_0292_A07.p1" style="display: none">plus1</div>
</body>
</html>

最佳答案

这实际上是一个两部分问题

首先,您不应该在 ID 中包含 .

其次,jQuery 看到了这个:$('#ID.CLASS')它在 DOM 中搜索 ID:cMB_0292_A07,然后是 m1 的子类。

您可以通过删除 ID 中的句点或使用正则表达式选择器 [id=""] 来解决此问题。

 $('[id="' + v + '"]').toggle();

jsFiddle DEMO


其他旁注,不要使用onClick 事件。最好将您的业务逻辑和表示逻辑分开。使用 jQuery .on('click', function () {}); 事件!

关于javascript - 使用输入值作为 id 切换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26739036/

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