2017-10-04 38 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