javascript - checkbox选中当前状态,获取选中元素兄弟节点文本
伊谢尔伦
伊谢尔伦 2017-04-10 17:40:58
[JavaScript讨论组]

需求:点击确定按钮,获取指定ul.class中的选中状态兄弟节点文本

问题是,只有第一行的checkbox生效啊???

贴代码,




    
    
    
    


   

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(4)
PHP中文网

说几个大问题
第一个问题:if(ul.prop('class','fanxian')){};这个判断的只是给你选中的每个ul的class改为"fanxian";按照你的意思应该为if(ul.hasClass("fanxian")){}。
第二个问题:var cur = $(this).find('input[name=quan]').prop('checked');
这个在ul中找到input[name=quan]的集合,对于后面的属性prop('checked'),只选择第一个进行获取,
所以$(this).find('input[name=quan]').prop('checked')在第一个input选中的时候,为true,选择其他的同类input时候为false;按照你的意思应该为
var cur = $(this).find('input[name=quan]:checked')

天蓬老师

我没有看懂你写的,但是我给你提供一个想法,你现在不是能点击获得checked的了吗?你把这个dom节点放在一个变量里,这样你获取值的时候就可以获取了

PHP中文网

var cur = $(this).find('input[name=quan]').prop('checked'); 这里有问题,find找到所有input而你只判断了第一个,那你不是选第一个的时候就false的
另外你是想把选中的文字打印出来的话,
var quanText = $("input[name=quan]:checked").next('span').text();这句已经可以,前面的判断没意义

伊谢尔伦

根据你的描述,大概是这个意思,

var cur = $(this).find('input[name=quan]').prop('checked');

这一句,前面 $(this).find('input[name=quan]') 你获得的是4个checkbox对象,然后这里后面直接跟prop('checked'),只会第一个checkbox进行判断,而不是你想的选中四个里面checked的那个

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号