javascript - jquery - 单击、追加、加载、slideDown 未按预期显示

标签 javascript jquery

我正在尝试实现我认为简单的点击加载slideDown场景。但我无法显示 SlideDown 部分。

我有以下两个按钮:

<div>
    <fieldset id="btn">
        <input class="databasebtn" type="submit" name="nameDatabaseBtn" id="db1" data-id=1" VALUE="DB1"/></br>
        <input class="databasebtn" type="submit" name="nameDatabaseBtn" id="db2" data-id="2" VALUE="DB2"/></br>
    </fieldset>
</div>

然后我有以下 jQuery:

$(document).ready(function()
    {
        $('.databasebtn').on('click',function()
            {
                $(this).append("<div id='btnlist'></div>");
                $('#btnlist').slideDown("200",function()
                    {
                        $('#btnlist').load("test78b.php");
                    }); 
            })
    });

想法是,我单击按钮,将 #btnlist div 附加到按钮,并用 test78b.php 的内容填充新的 div,这应该生成一个复选框列表。

一切正常,只是我看不到复选框。如果我查看后台的代码,它就在那里,只是不会显示出来。

如果我单独包含“test78b.php”,它会按预期显示。

我有什么遗漏吗?

最佳答案

您不能将 div 附加到按钮,您可以使用此代码将 div 附加到父级(在本例中为 fildset)

<script type="text/javascript">
$(document).ready(function()  {
        $('.databasebtn').on('click',function(){
                $(this).parent().append("<div id='btnlist'></div>");
                $('#btnlist').slideDown('slow',function(){
                        $('#btnlist').load("your page");
                    })
           })  
  });
 </script>

或者您可以使用 insertBefore 在单击此代码的按钮之前附加 div

<script type="text/javascript">
$(document).ready(function()  {
        $('.databasebtn').on('click',function(){
               $("<div id='btnlist'></div>").insertBefore($(this))
                $('#btnlist').slideDown('slow',function(){
                        $('#btnlist').load("your page");
                    })
           })  
  });
 </script>

或使用此其他代码将 div 附加到 body 标记

<script type="text/javascript">
$(document).ready(function()  {
        $('.databasebtn').on('click',function(){
               $("<div id='btnlist'></div>").appendTo('body')
                $('#btnlist').slideDown('slow',function(){
                        $('#btnlist').load("your page");
                    })
           })  
  });
 </script>

然后,对于正确的 html 代码,同一页面上不应该有多个具有相同 id 的项目。
通过脚本添加的div不应具有id btnlist,而应具有class =“btnlist”

关于javascript - jquery - 单击、追加、加载、slideDown 未按预期显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23344917/

相关文章:

javascript - 如何更改当前 URL?

javascript - 一次显示隐藏一个 DIV onClick

jquery - 如何左对齐 Jquery 数据表分页按钮

javascript - 简单的 jQuery 验证失败

javascript - 单击按钮后如何更新变量

javascript - ng-repeat + 过滤器 + ng-switch

javascript - Nativescript 将参数传递给触发的事件

c# - 使用 Ajax 以 guid 作为键的 .NET MVC 字典绑定(bind)问题

javascript - 将 VBA 转换为 JavaScript 自定义函数,得到不同的答案

javascript - 如何使用 Bootstrap 3 在悬停时创建滑动图像?