我有一个页面允许用户使用jQuery动态添加新的ul
,我将其作为参考:http://railscasts.com/episodes/197-nested-model-form-part-2?view=asciicast
我用它来动态添加新的ul
:
function add_fields(link, association, content) {
var new_id = new Date().getTime();
var regexp = new RegExp("new_" + association, "g");
$(link).parent().before(content.replace(regexp, new_id));
}
现在我正在扩展它以使其可以按以下方式排序:
$(document).ready(function () {
$(".sortable_list").sortable({
items: "li"
}).disableSelection();
});
现在的问题是,对于现有内容,页面加载时附加的ui-sortable
中有一个类ul
,因此jQuery只会将这些ul
记为可排序。当我动态添加新的ul
时,不附加ui-sortable
类,因此它不可排序。
我尝试对我的模板进行硬编码,以便在动态添加每个新ui-sortable
时添加一个类ul
,但jQuery仍然无法使用{{1}识别新的ul
可分类的。
如果我错了,请纠正我。我怀疑jQuery只会在ui-sortable
首次加载时查找ul.sortable_list
中可排序的所有列表。而已。对于每个新添加的ul.sortable_list
,它都不可排序。
请告知我该如何解决这个问题。谢谢!
答案 0 :(得分:0)
我读了它,用这个简单的方法。它可能会起作用。
function add_fields(link, association, content) {
var new_id = new Date().getTime();
var regexp = new RegExp("new_" + association, "g");
$(link).parent().before(content.replace(regexp, new_id));
$(".sortable_list").sortable({
items: "li"
}).disableSelection();
}
注意:请确保您的可排序代码执行工作。我运行此代码一年,这对我很有用。我希望它对我来说和我一样