Jquery彩盒和侧边栏不起作用

时间:2017-08-09 23:38:11

标签: javascript jquery jquery-ui dom jquery-plugins

我们使用JQuery colorbox和sidebars来创建应用程序。 内容包括颜色框区域和侧边栏区域。 如果单击颜色框区域元素,该元素将被复制到侧边栏区域。 如果我单击HTML下面的sidebars区域元素,该元素将复制另一个区域。 本机侧边栏元素将被复制没有问题,但彩色区域中复制的元素将不会被复制,标签颜色也不会更改。

<div class="checkbox" id="additional_member">
<input type="checkbox" name="checkbox_member" id="sidebar_member1" class="cb_member" value="155">
<label for="sidebar_member1" class="sb_member checked" id="lb_sb1">
<span id="member_name1">TEST1</span>
</label>

<input type="checkbox" name="checkbox_member" id="sidebar_member2" class="cb_member" value="025">
<label for="sidebar_member2" class="sb_member" id="lb_sb2">
<span id="member_name2">TEST2</span>
</label>
</div>

 //sidebars
$('#additional_member').on('click', '.sb_member', function(){
    var index    =    $(".sb_member").index(this);
    var val        =    $("#sidebar_member" + ( index +1 ) ).val();
    var str        =    $("span#member_name" + ( index +1 )).html();
    //
    if($("div#additional_member label:eq(" + index  + ")").hasClass("checked")){
        //remove
        $("div#add_member input").filter(function(){
            return $(this).val() == val;
        }).remove();
        //remove from member list
        $("ul#member_list li").filter(function(){
            return $(this).text() == str;
        }).remove();
        //color turns to white(not checked)
        var j = 0;
        var pos = 0;
        $("div#additional_member input").filter(function(){
            if(val == $(this).val()){
                pos = j;
            }
            j++;
        });
        $("div#additional_member label:eq(" + pos + ")").removeClass('checked');
        return false;
    }else{
        var count_li    =    $("ul#member_list li").length;
        $('<input>').attr({
            type: 'hidden',
            class: 'member',
            id: 'member_id' + (index + 1),
            name: 'member[]',
            value: val
        }).appendTo('div#add_member');
        //
        var j = 0;
        var pos = 0;
        $("div#additional_member input").filter(function(){
            if(val == $(this).val()){
                pos = j;
            }
            j++;
        });
        $("div#additional_member label:eq(" + pos + ")").addClass('checked');
        //string for assigned member section
        var str_li = '<li id="list_elm' + (count_li + 1) + '">' + str + '</li>';
        //data for POST
        var j    =    0;
        $("div#add_member input").filter(function(){
            if(val == $(this).val()){
                j++;
            }
        });
        //member list
        var j    =    0;
        $("ul#member_list li").filter(function(){
            if(str == $(this).text()){
                j++;
            }
        });
        //append
        if(j == 0){
            $('ul#member_list').append(str_li);
        }
        return false;
    }
});

if($("div#additional_member label:eq("+index+")").hasClass("checked")){

的一部分

不起作用。 这部分处理了两次。我无法理解原因。

请告诉我!!

0 个答案:

没有答案