Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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
Javascript ASP.net用户界面刷新问题_Javascript_Asp.net - Fatal编程技术网

Javascript ASP.net用户界面刷新问题

Javascript ASP.net用户界面刷新问题,javascript,asp.net,Javascript,Asp.net,我正在我的一个网页中使用复选框和复选框列表 用户界面就像 颜色-标题复选框 复选框列表项是 红色的 绿色的 蓝色的 黄色的 完成选择-单击标题复选框可选择/取消选择整个复选框列表 复选框列表的部分选择显示具有不同背景颜色的标题复选框,以指示部分选择 我在每个复选框列表选择更改中检查所选项目的数量。在客户机-服务器环境中,存在时间延迟,如果我们在复选框列表中进行两个连续选择,则会对第一个选择执行标题控件的更新,在刷新UI时,第二个选择将消失。 我还使用JavaScript实现了上面的一个,但是行为

我正在我的一个网页中使用复选框和复选框列表

用户界面就像

颜色-标题复选框

复选框列表项是

红色的

绿色的

蓝色的

黄色的

完成选择-单击标题复选框可选择/取消选择整个复选框列表

复选框列表的部分选择显示具有不同背景颜色的标题复选框,以指示部分选择

我在每个复选框列表选择更改中检查所选项目的数量。在客户机-服务器环境中,存在时间延迟,如果我们在复选框列表中进行两个连续选择,则会对第一个选择执行标题控件的更新,在刷新UI时,第二个选择将消失。 我还使用JavaScript实现了上面的一个,但是行为也是一样的。
有什么替代方案呢?

您的问题不是特别清楚,但听起来您需要某种三态复选框?这听起来像是回发正在发生,并清除了您的第二个选择

如果是这样,还有一些控制选项。这里有一个链接,它可能会有所帮助


您确实需要发布一些代码并链接到您提到的屏幕截图。

您正试图满足两种情况,最简单的方法是使用Javascript。当然,一个方向是使用Jquery简化DOM元素之间的连接

下面是一个涵盖这两种场景的示例。一个顶级控件检查/取消选中所有元素。第二,个体改变顶层元素的背景。这不是拖放运行代码,它只是单独演示了该技术。如果您不熟悉Jquery,我留给您的更改和调整:只需在站点上搜索每个函数。享受吧

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>

    <script type="text/javascript">
        $(document).ready(function(){       

            // Wire up the 'select-all' to the child elements
            $('#topLevel').bind('change' , function(){
                // Record this object
                var base = this;
                // Change the child elements
                $('#checkboxContainer input').each( function(){
                    $(this).attr('checked' , $(base).is(':checked'))
                })                  
            });

            // Make the individual checkbox selects alter the
            // background of the top-level wrapper
            $('#checkboxContainer input').bind('change' , function(){
                // Get a handle to the top item
                var topLevel = $('#topLevelWrapper');                   
                // Have we selected the item?
                if($(this).is(':checked')){
                    // Remove the previous class assignments
                    topLevel.attr('class' , '');
                    // Assign the current css class from the parent
                    topLevel.addClass( $(this).parent().attr('class') );                        
                }
            });

        })
    </script>

    <style type="text/css">
        .Red{
            background-color:#F00;
        }
        .Green{
            background-color:#0F0;
        }
        .Blue{
            background-color:#00F;
        }
    </style>
</head>
<body>

    <div id="topLevelWrapper">
        <label for="topLevel">Top level selection</label>
        <input type="checkbox" id="topLevel" />
    </div>

    <div id="checkboxContainer">
        <ul>
            <li class="Red">
                <label for="topLevel">Red</label>
                <input type="checkbox" />
            </li>
            <li class="Blue">
                <label for="topLevel">Blue</label>
                <input type="checkbox" />
            </li>
            <li class="Green">
                <label for="topLevel">Green</label>
                <input type="checkbox" />
            </li>

        </ul>

    </div>

</body>

我读了两遍,仍然不知道你在说什么。你在说哪个屏幕截图?需要更多信息。你想达到什么目标?在复选框点击等的场景后面发生了什么。你知道你可以编辑你的问题吗?然后,当你发现无法附加截图后,你可以删除附加截图的引用。也许你可以找到其他的方法来澄清你想要什么。谢谢你的回答。是的,我正在努力实现类似三态复选框的目标。我无法附加屏幕截图。