再次选择父级时删除子div

时间:2012-10-16 12:26:37

标签: php javascript jquery livequery

我正在使用 n级别选择链 99 points website tutorial, 但是当我尝试重新选择父节点时,不会重置相应的子div。

我搜遍了StackOverflow和Google,但到目前为止还没有运气。

使用以下代码时出现错误,我无法更正。

    $(this).nextAll('.parent').remove();
    $(this).nextAll('label').remove();

这是我的代码

主页

    <script type="text/javascript">
        $('.parent').livequery('change', function() {

                $(this).nextAll('.parent').remove();
            $(this).nextAll('label').remove();

                $.post("/dashboard/details/show_levels/", {
                    parent_id: $(this).val(),
                }, function(response){
                    setTimeout("finishAjax('levels', '"+escape(response)+"')", 400);
                });

                return false;
            });
        })

        function finishAjax(id, response){
        //alert(unescape(response));

          $('#'+id).append(unescape(response));
        } 
    </script>

    <div id=levels>
        <select id="level" class="parent" multiple="multiple" scroabble="1" name="data[level][]">
<option value="Building & Construction Mat">Building & Construction Mat</option>
<option value="Electronic Components">Electronic Components</option>
<option value="Furniture & Mattresses">Furniture & Mattresses</option>
<option value="Labels">Labels</option>
</select>
    </div>

show_levels

    <select id="sublevel" class="parent" multiple="multiple" scroabble="1" name="data[sublevel][]">
<option value="Labels">Labels</option>
<option value="Preparation Techniques">Preparation Techniques</option>
<option value="Process Parameters">Process Parameters</option>
</select>

更新

以下代码解决了我的问题

$("#levels").on('click', '.parent', function () {
    $(this).parents().nextUntil().remove();
});

1 个答案:

答案 0 :(得分:1)

您应该删除对.livequery()插件的引用,然后直接使用.live()

in this fiddle我使用.live()功能复制了教程,向您展示如何使用它