jquery便签插件

Posted

技术标签:

【中文标题】jquery便签插件【英文标题】:jquery sticky notes plugin 【发布时间】:2012-05-16 21:36:12 【问题描述】:

我使用 jQuery 便签插件http://www.jquery-sticky-notes.com/ 我使用 asp.net Web 服务和 ajax 将它与数据库连接以创建注释并编辑和删除,然后我使用 json 数组从数据库中获取注释。 问题是:我不能用数据库中的注释填充这个插件 它使用选项数组

jQuery(document).ready(function() 
            var options = 
                notes:["id":1,
                      "text":"Test Internet Explorer",
                      "pos_x": 50,
                      "pos_y": 50,  
                      "width": 200,                         
                      "height": 200,                                                    
                    ]
                ,resizable: true
                ,controls: true 
                ,editCallback: edited
                ,createCallback: created
                ,deleteCallback: deleted
                ,moveCallback: moved                    
                ,resizeCallback: resized                    

            ;
            jQuery("#notes").stickyNotes(options);
        );

如果现在有一个注释,则注释包含注释属性:- 我如何使用这个选项数组使用数据库中的注释填充这个插件

【问题讨论】:

您可以将您的代码粘贴到jsfiddle.net 以及 jquery ajax 和示例 json 数组或 web 服务输出中。你使用 asp.net mvc 3 吗? var Jnotes1 = $.parseJSON(data); var Jnotes2 =JSON.stringify(data) 你可以在这里粘贴 Jnotes2 的输出吗? 【参考方案1】:

尝试下面的代码并根据代码中的 cmets 填充 Note 数组,从第 3 行开始(您需要放置 For 循环或其他内容)。然后将数组分配给option.notes,如倒数第二行所示。

jQuery(document).ready(function() 
            var note= new Object();
            ///////Populate the Notes array here
            note=["id":1,
                          "text":"Sticky Text1",
                          "pos_x": 20,
                          "pos_y": 50,  
                          "width": 200,                         
                          "height": 200,                                                    
                        ,"id":1,
                          "text":"Sticky Text 2",
                          "pos_x": 50,
                          "pos_y": 50,  
                          "width": 200,                         
                          "height": 200,                                                    
                        ];
                ///////Populate the Notes array here

                var options = 
                    notes:null
                    ,resizable: true
                    ,controls: true 
                    ,editCallback: edited
                    ,createCallback: created
                    ,deleteCallback: deleted
                    ,moveCallback: moved                    
                    ,resizeCallback: resized                    

                ;
                options.notes=note;
                jQuery("#notes").stickyNotes(options);

【讨论】:

如果使用jquery或ajax动态添加节点会更好。【参考方案2】:
 $(documet).ready(function () 
            //calling for edit text      
            var edited = function (note) 
                alert("Edited note with id " + note.id + ", new text is: " + note.text);
            ;
            // calling:create new note to add it to database
            var created = function (note) 
                alert("Created note with id " + note.id + ", text is: " + note.text);
            ;

            //calling to delete note from database
            var deleted = function (note) 
                alert("Deleted note with id " + note.id + ", text is: " + note.text);
            ;

            //calling to update location
            var moved = function (note) 
                alert("Moved note with id " + note.id + ", text is: " + note.text);
            ;

            //calling to update size
            var resized = function (note) 
                alert("Resized note with id " + note.id + ", text is: " + note.text);
            ;

            $.ajax(
                type: "POST",
                url: "../../Services/sticky_notes.asmx/getnotes",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function suc(data, status) 
                    var Jnotes = $.parseJSON(data);

                    //i have json now how can i use it to populate option
                    var options = 
                        notes: Jnotes,
                        resizable: true,
                        controls: true,
                        editCallback: edited,
                        createCallback: created,
                        deleteCallback: deleted,
                        moveCallback: moved,
                        resizeCallback: resized
                    ;

                    $("#notes").stickyNotes(options);
                ,
                error: function error(request, status, error) 
                    csscody.alert(request.statusText);
                
            );
        );

【讨论】:

var Jnotes1 = $.parseJSON(data); var Jnotes2 =JSON.stringify(data) 你可以在这里粘贴 Jnotes2 的输出吗? 不要使用 $.parseJSON(data.d);它适用于一维数组。

以上是关于jquery便签插件的主要内容,如果未能解决你的问题,请参考以下文章

手机便签怎么查看本条便签的操作记录?

实用电脑便签技巧 让你变便签应用小达人

《团队-手机便签-需求分析》

oppo手机便签里数字如何自动加减?

红米手机便签点开后又自动收回,怎么办?

电脑便签敬业签如何在团队便签中上传图片?