0

我正在使用使用 99 点网站教程的n 级选择链,但是当我尝试重新选择父节点时,相应的子 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>

显示级别

    <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();
});
4

1 回答 1

1

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

在这个小提琴中,我使用.live()功能复制了教程,向您展示如何使用它

于 2012-10-16T14:46:13.827 回答