[英]Jquery - Dynamically pass parameters to function
我甚至不確定我是以正確的方式詢問或談論這個問題,但如果我只是展示它,它可能會更容易。 基本上,我試圖通過function
運行每個div
的attr
作為parameter
,並讓它根據div的attr返回不同的結果。
您可以看到,該示例是單擊容器div中的鏈接時顯示的一組下拉列表。 如果您進行選擇,則將其保存為父div中的attr。 當您單擊,然后返回容器時出現問題...而不是使用相應的默認或選擇顯示重新顯示每個下拉列表,它只是鏡像旁邊的a
的結果。
http://jsfiddle.net/nosfan1019/b7F6x/5/
TIA
我插入了一些console.log()
語句來查看各種jQuery選擇器發生了什么。 我觀察到以下內容:
_container
是“頂級”節點 select()
的參數_attr
和_parent
對於每個處理的節點都是相同的,兩個'dd'框的結果相同。 我想你想要改變你用來定位要修改的節點的選擇器。
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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.