在做插件时遇到一个问题。$.fn.combobox = {fun:alert(???) },调用时我想这样调用
譬如标签<input id="demo" type="text" value="这是测试"/>$('#demo').combobox.fun();这里输出 '这是测试'那么???那边怎么写? this的话只能获得 combobox对象。 还需要继续父级的对象。

解决方案 »

  1.   

    是要获取点击对象的value?(function($){
        $.fn.combox=function(){
            alert($(this).html()?$(this).html():$(this).val());
        }
    })(jQuery)<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>无标题页</title>
        <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
        <script type="text/javascript" src="JScript.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $("a").click(function(){
                    $(this).combox();
                })
                $("#b").click(function(){
                    $(this).combox();
                })
            })
        </script>
    </head>
    <body>
    <a>弹出弹出弹出</a>
    <input id="b" type="button" value="button按钮" />
    </body>
    </html>
      

  2.   


     $.fn.combox=function(){}
    用combox指向函数。那么this就是fn.没什么问题。如果将combox指向{}对象呢?怎么获取fn对象?
      

  3.   

    可能我说的不是太清楚,再补充下我想要的功能。
    我希望能实现这样的插件。
    $('#demo').combobox.attr;//属性设置
    $('#demo').combobox.init();//初始化
    $('#demo').combobox.bind();//绑定
    $('#demo').combobox.selectd;//自定义事件,这样是否会明白一点。主要是在$.fn.combobox=....这里不知道怎么写。
    貌似不能$.fn.combobox={}这样。只能$.fn.combobox=function(){};那么怎么实现我想要的功能。
      

  4.   

    同在纠结这个问题~$(this)不能正确获取到对象~