2012-04-07 72 views
1

我是jQuery插件创建的新手,并为我的项目[Tumblr style tagging]创建了一个插件。jQuery插件方法

[我知道有这么多的插件,但我想创建自己:d]

这里有云

(function($) { 

    $.fn.Tagger = function() 
    { 
     this.each(function() 

     { 
       //codes goes here 

     }); 

    }; 


})(jQuery); 

所以,这样做后,我可以做这样的事情,以创建加标签输入

$("#IdOfTheElement").Tagger(); 

现在我创建了UI并需要获取UI的值。

例如用户类型metagoogleyahoomsn ....

,这样我需要得到值google,yahoo,msn

我想知道这样做[不是代码]

像这样可用的方法是什么?

$("#ID").Tagger("value"); //returns the values 

$("#ID").Tagger().val(); // is this possible ? 

希望你明白的问题,所有的意见/建议,欢迎。

请帮我完成。

谢谢。

更新

请检查此琴http://jsfiddle.net/pNqUL/

+3

我建议你阅读更多关于[插件开发(http://docs.jquery.com/Plugins/Authoring)。这里说明了如何做你正在做的事情。另外,使用[样板](http://jqueryboilerplate.com/),以便您不会一直划伤编码。 – Joseph 2012-04-07 04:56:56

+0

@约瑟夫谢谢你,非常有用。 – Red 2012-04-07 05:23:52

回答

1

指定你最后可以通过代码更改为此:通过返回的一部开拓创新的选择匹配

(function($) { 

    $.fn.Tagger = function() 
    { 
     return this.each(function() 

     { 
       //codes goes here 

     }); 

    }; 


})(jQuery); 

你能继续菊花链的命令。因此,如果$('#ID')是一个表单字段,然后$("#ID").Tagger().val();将返回我收集了我所有的插件的方法,对象文本和传递方法的字符串名称插件[按照教程说叫他们的价值

+0

感谢你的理解,我对'链式性'有所了解,但是我不能仅仅通过返回选择器来做到这一点,因为可标记输入实际上并不是输入的文本类型[或某些可以返回值的元素],它是'ul'和'li'的组合是否有其他方法? – Red 2012-04-07 05:00:34

+0

你能举个例子吗?http://jsfiddle.net – nathanjosiah 2012-04-07 05:01:24

+0

请检查该http://jsfiddle.net/pNqUL/ – Red 2012-04-07 05:09:40

0

。 ..]。

所以应用恶搞我可以做

$("#ID").tagger(); // making element as taggable 

$("#ID").tagger("value") //returns the value of tagged elements