慕凉生
2017-12-09 06:00
采纳率: 66.7%
浏览 2.4k
已采纳

jquery用div+span做的多选框,怎么获得选中的多个span的值?

图片说明

上图是前端页面.
前端代码如下:

D色 E色 F色 G色 H色 I色
我写的取值代码如下:
$(".dia_menu_lst span").click(function (e) {
    $(this).siblings().each(function(){
       $(this).removeClass("selected"); //去除同一个div下span兄弟节点的选中状态
    });
    $(this).toggleClass("selected"); // 点击某个span时添加或移除选中状态
    weight =$('#weigdiv .selected').attr('data'); //选择含有选中状态selected的元素(有选中状态状态的span)
    neatness =$('#neatdiv .selected').attr('data');
    var color =$('#colordiv .selected').attr('data');
    alert(ctgId +" "+weight+" "+neatness+" "+color);
}); 
    问题:因为每次点击的时候会去除兄弟的选中状态,所以实现不了多选.neatness和weight需要单选,color需要多选.求教各位大神怎么取得多选的color的值,我每次都只能取到一个.
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 听楼一夜雨 2017-12-09 07:17
    已采纳
    最后遍历选中的那几条数据,赋值给一个变量就行了,随便写的,不一定正确
        var color="";
        var i=0;
        $('#colordiv .selected').each(function(){
            if(i!=0){
                    color+=","+$(this.attr("data"));
            }else{
                    color+=$(this.attr("data"));
            }
    
            i++;
        })
    
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 雪飞梦魂天 2017-12-09 06:08

    select multiple 多选

    评论
    解决 无用
    打赏 举报
  • wangjun491280 2017-12-09 06:30

    这种的原理就是多选的select,加上select标签就可以了

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题