jquery遇到的问题 , 麻烦大神看一下 , 不好意思分太少 , 对不住

烛未 2019-01-16 02:09:05
复选框里面的内容选定后 , 要根据后台状态换掉相应选项下面的背景图片
<div class="box">
<ul class="box-list clearfix">
<li>
<div class="index">01</div>
<div class="img"><img src="../static/imagess/pademo_grey.png" th:src="@{/imagess/pademo_grey.png}"></div>
<label><input type="checkbox" name="station_name" id="01" value="七莘路站" />七莘路站</label>
</li>
<li>
<div class="index">02</div>
<div class="img"><img src="../static/imagess/pademo_grey.png" th:src="@{/imagess/pademo_grey.png}"></div>
<label><input type="checkbox" name="station_name" id="02" value="虹莘路站" />虹莘路站</label>
</li>
<li>
<div class="index">03</div>
<div class="img"><img id="03" src="../static/imagess/pademo_grey.png" th:src="@{/imagess/pademo_grey.png}"></div>
<label><input type="checkbox" name="station_name" id="03" value="03" />顾戴路站</label>
</li>
<li>
<div class="index">04</div>
<div class="img"><img src="../static/imagess/pademo_grey.png" th:src="@{/imagess/pademo_grey.png}"></div>
<label><input type="checkbox" name="station_name" id="04" value="东兰路站" />东兰路站</label>
</li></div>
...全文
125 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
丰云 2019-01-16
  • 打赏
  • 举报
回复
下面这样也行,closest(selector)查找最近的祖先

$('input[name="station_name"]').click(function() {
    if (this.checked) {
         $(this).closest('.box').find('img').attr('src', '../static/imagess/pademo_blue.png'); 
    } else {
        alert("hello");  
    }
});
烛未 2019-01-16
  • 打赏
  • 举报
回复
引用 6 楼 丰云 的回复:
改成下面这样就可以了:

$('input[name="station_name"]').click(function() {
    if (this.checked) {
         $(this).parent().parent().find('img').attr('src', '../static/imagess/pademo_blue.png'); 
    } else {
        alert("hello");
 
    }
});
谢谢你 老哥
丰云 2019-01-16
  • 打赏
  • 举报
回复
改成下面这样就可以了:

$('input[name="station_name"]').click(function() {
    if (this.checked) {
         $(this).parent().parent().find('img').attr('src', '../static/imagess/pademo_blue.png'); 
    } else {
        alert("hello");
 
    }
});
丰云 2019-01-16
  • 打赏
  • 举报
回复
不知道就敢随便用
丰云 2019-01-16
  • 打赏
  • 举报
回复
siblings是兄弟的意思, 你的input在label的包裹里,他没有兄弟 而.box是input的父级的父级的父级的父级。。。。曾祖父了。。。。
烛未 2019-01-16
  • 打赏
  • 举报
回复
引用 2 楼 丰云 的回复:
真是服了你了。。。你.siblings('.box')在哪里? 你知道siblings的意思吗?
不知道阿 老哥................
丰云 2019-01-16
  • 打赏
  • 举报
回复
真是服了你了。。。你.siblings('.box')在哪里? 你知道siblings的意思吗?
烛未 2019-01-16
  • 打赏
  • 举报
回复
$('input[name="station_name"]').click(function() {
	if (this.checked) {
		 $(this).siblings('.box').find('img').attr('src', '../static/imagess/pademo_blue.png');

	} else {
		alert("hello");

	}
});
这个是我的代码 , 未选中时就回到之前的图片 , 状态是从后台获取 , 换图片这里我改了很多次都有问题 , 麻烦大神帮我看看

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧