2017-10-04 36 views
1

我想要使用奇妙的jQuery插件來編輯一堆選擇框:https://github.com/indrimuska/jquery-editable-select'映射'jquery插件功能到多個DOM元素

第一步是獲取所有選擇框的ID。我能夠獲得幫助Build an array of ids of all select boxes獲得適用的選擇框ID列表。

現在我需要將jquery插件函數映射到id數組。使用插件的基本命令是:

$('#editable-select').editableSelect(); 

我已經試過:

var test = []; 

$("select").each(function() { 
    test.push($(this).attr('id')) 
}); 



$("select").each(function() { 
    test.push($(this).attr('id')) 
}); 

    test.each(function() { 
    $(this).editableSelect(); 
}); 

我怎樣才能「地圖」插件功能的適當選擇框的DOM元素?

+0

test.each不是一個函數。你可以使用test.forEach()。另外,我建議你使用參數來獲得你的元素。像:'test.forEach(function(el){el.editableSelect();});' 另外,爲什麼你有相同的代碼2次'$(「select」)。each(func ....'? – rm4

+0

如果你不想重用你的數組,我認爲'$(「select」).editableSelect()'可以工作。我不知道這個插件,但通常,當你從jquery調用一個函數時,它 – rm4

+0

對不起,沒有工作,基於http://indrimuska.github.io/jquery-editable-select/,似乎需要一個id來選擇 – user61629

回答

1

我認爲這應該工作...

$('select').each(function() { 
    $(this).editableSelect(); 
}); 

...但在看看插件後,它不需要選擇得到的只是一個jQuery對象(非常有意義)所以它更容易...

$('select').editableSelect(); 

......這兩個選項的工作,但顯然是第二個路要走。這裏有一個撥弄一個例子...

https://fiddle.jshell.net/1cuy7gsg/

.each()是隻能被應用到的jQuery對象jQuery的功能。這就是爲什麼你不能將它應用到你的test javascript數組(test.each無法工作)。

我希望它有幫助

+0

對不起,沒有工作。 ://indrimuska.github.io/jquery-editable-select/,它似乎需要一個ID來選擇 – user61629

+0

@ user61629是的,它的工作原理... https://fiddle.jshell.net/1cuy7gsg/然後看看插件,你甚至不需要'.each()'(它也可以,但你不需要它)。我編輯了答案。你是在'$ (document).ready()'函數離子?你收到任何控制檯錯誤? –

+0

謝謝,我很欣賞你在看這個。我的用例有點複雜。我會重新發佈一個更高級的問題。我試圖把它歸結爲一個更簡單的問題。 – user61629