Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 函数显示我添加此StopRopAgation函数时停止工作的值_Jquery_Checkbox_Show Hide_Checked_Stoppropagation - Fatal编程技术网

Jquery 函数显示我添加此StopRopAgation函数时停止工作的值

Jquery 函数显示我添加此StopRopAgation函数时停止工作的值,jquery,checkbox,show-hide,checked,stoppropagation,Jquery,Checkbox,Show Hide,Checked,Stoppropagation,我正在用unordered()HTML列表设置一些MultiSelect元素的样式,但是当我添加了最新的函数(当单击另一个元素时关闭容器)时,另一个函数停止了工作——该函数显示选中复选框的值 这里是对完整代码的修改: 我正在添加的函数 // Close the container when click elsewhere on the page $('html').click(function () { $('#select_colors').hide(); }); $('.dropdown_

我正在用unordered()HTML列表设置一些MultiSelect元素的样式,但是当我添加了最新的函数(当单击另一个元素时关闭容器)时,另一个函数停止了工作——该函数显示选中复选框的值

这里是对完整代码的修改:

我正在添加的函数

// Close the container when click elsewhere on the page 
$('html').click(function () { $('#select_colors').hide(); });
$('.dropdown_box_colors, .dropdown_container_colors').click(function (e) {
    e.stopPropagation();
    return false;
});
原始功能

$(document).ready(function () {
    // Opens the container and close it on mouseleave
    $(".dropdown_box_colors").click(function () {
        $("#select_colors").show();
    });           
    var timeoutID;
    $("#select_colors").mouseleave(function () {
            timeoutID = setTimeout(function () {
        $("#select_colors").hide();
        }, 800);
    });
    $("#select_colors").mouseenter(function () {
        clearTimeout(timeoutID);
    });
    // Displays the values of checkboxes checked in a container (adds/removes them when they're checked/unchecked). Displays the # selected if more than 3 items are checked
    $(".dropdown_container_colors input").change(function () {
        var checked = $(".dropdown_container_colors input:checked");
        var span = $(".dropdown_box_colors span");
        if (checked.length > 3) {
            span.html("" + checked.length + " selected");
        } else {               
            span.html(checked.map(function (){
                return $(this).closest('label').clone().children().remove().end().text(); 
            }).get().join(", ")); 
        }
    });
});
// Toggles the visibility of the checkmark 
function toggle_colorbox_alt(span) {
    div = span.getElementsByTagName('div')[0];
    cb = span.getElementsByTagName('input')[0];
    if (cb.checked == false) {
        div.style.visibility = "visible";
        span.className = "colorSwatch colorSwatchSelected";
        cb.checked = true;
    }
    else {
        div.style.visibility = "hidden";
        span.className = "colorSwatch";
        cb.checked = false;
    }
}
HTML

选择

您在哪里添加了此脚本?这正是我需要的:-)非常感谢:-)
<div class="dropdown_box_colors"><span>Select</span></div>
<div class="dropdown_container_colors"> 
    <ul id="select_colors">  
        <li>
            <a href="#"><label onclick="toggle_colorbox_alt(this.children[0]);">
            <div style="background-color: #000000" class="colorSwatch">
                <div class=CheckMark>&#10003;</div>
                <input type="checkbox" name="color[]" value="Black" class="ckBox"/>
            </div>Black</label></a>
        </li>   
        <!-- Additional List Items --> 
    </ul>
</div>
Try removing return false from onclick event handler after calling stopPropagation().

Have a look at the working fiddle here: http://jsfiddle.net/ezxSF/22/