javascript - imageSwap onClick 通过 javascript 不触发
问题描述
交换图像的脚本(通过 Rails<%= javascript_tag do %>
标签生成)
<script>
//<![CDATA[
$("input[type=radio]").on("change", function() {
var Frame_image = $("input[name=Frame]:checked").val();
$("#Frame").attr("src", "/Mirra_2/small/Frame_" + Frame_image + ".png");
})
//]]>
</script>
基于来源(片段)
<table> <tr>
<td style='vertical-align: top;'>
<label><input type="radio" class='imagepick' id="Frame_6K8" name="Frame" value="6K8"><img src="/assets/Mirra_2/colours/6K8-f0d0fc886240ff430ef97b3f98ac23bf26f290b772bcb840460549cd61d15028.jpg" />Studio White / H-Alloy</label>
</td>
<td style='vertical-align: top;'>
<label><input type="radio" class='imagepick' id="Frame_6K7" name="Frame" value="6K7"><img src="/assets/Mirra_2/colours/6K7-8052fe7aa605d525981035af0c1367d1d3808390b63bb29437f515cc63b58e8c.jpg" />Graphite / H-Alloy</label>
</td> [...]
请注意,初始图像位于正文的第一部分
javascript 不会在控制台中生成任何错误。要交换的图像存在。然而,点击选项不会导致图像交换。
这是为什么?
解决方案
遇到此类问题,请花时间调试您的代码,看看出了什么问题,并验证您是否在每一步都获得了预期的结果。
如果你添加了这样的 console.log() 调用,你会很快发现你没有带有Frame
id 的元素。
$("input[type=radio]").on("change", function() {
var Frame_image = $("input[name=Frame]:checked").val();
console.log(Frame_image);
console.log("#Frame");
$("#Frame").attr("src", "/Mirra_2/small/Frame_" + Frame_image + ".png");
})
推荐阅读
- linux - 我们如何为 riscv-linux 交叉编译静态链接的 rust 程序?
- python - 拆分为列
- azure - 如何使用 kinect DK 获取有关 Focus 的信息?
- android - 我需要将图像从适配器传递到活动
- android - Android studio中如何自定义ImageView的src属性
- json - 使用 lowerCamelCase 错误最终变量和非常量标识符
- database - 如何删除 MongoDB Realm 中的重复项?
- python - 如何以功能方式做到这一点?
- go - 如何在idea中禁用GO?
- c# - PuppeteerSharp 无法创建连接