我甚至不确定我是以正确的方式询问或谈论这个问题但如果我只是展示它可能会更容易。基本上,我试图通过attr
将div
parameter
作为function
运行,并根据该div的attr返回不同的结果。
如您所见,该示例是单击容器div中的链接时显示的一组下拉列表。如果您进行选择,则将其保存为父div中的attr。当您单击,然后返回容器时出现问题...而不是使用相应的默认或选择显示重新显示每个下拉列表,它只是镜像它旁边的a
的结果。
http://jsfiddle.net/nosfan1019/b7F6x/5/
TIA
答案 0 :(得分:2)
我插入了一些console.log()
语句,以查看各种jQuery选择器发生了什么。我观察到以下内容:
_container
是“顶一个”_attr
的参数_parent
和select()
对于每个处理的节点都是相同的,这两个'dd'框的结果相同。我认为您想要更改用于定位要修改的节点的选择器。
答案 1 :(得分:1)
foo = foo.find('.dropdown-toggle').html(_new + '<b class="caret"></b>');
使用此行,您将获得两个div,因此您可以更改这两个值(如果从droplist中选择了值)。
正确恢复所选值:
function modified(_select) {
console.log("modify");
foo = $('#box').html();
foo = $(_select).html(foo);
// iterate on collection to restore selected value from selection tag;
foo.filter("div[selection]").each(function(i, v){
var selected = $(v).attr('selection');
$(v).find('.dropdown-toggle').html(selected + '<b class="caret"></b>');
});
}
然后,如果parentDiv中的任何一个具有[selection] attr:
,则需要检查它if($(y).filter("div[selection]").length > 0){
return modified(y);
}