Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Saving custom data to dom elements using jquery only once
- /*Create controls when only query string exists*/
- if (config.params) {
- //parse the query string json as a object
- //ex:{type:"textbox",x:100,y:200,label:Name}
- var params = $.parseJSON(config.params);
- //for each control in json add it to document body
- $(params).each(function (idx, obj) {
- var id = new Date();//for generating dynamic id
- id = id.getTime();
- $("<span>").addClass(obj.css).load(function (ev) {
- var a = this;
- $(a).data("keys", {
- key: $("label", a).text()**certainly label wont be found**,
- value: $("input[name]:hidden", a)
- });
- }).
- easydrag().ondrop(function (e, el) {
- //easydrag drag drop plugin
- var a = $(el),
- b = a.data("keys"),
- key = b.key,
- value = b.value;
- value.val(key + "$" + e.pageX + "$" + e.pageY);
- }).
- css({
- position: "absolute",
- top: obj.y,
- left: obj.x
- }).
- append($("<label>", {
- "for": id
- }).
- html(obj.label).
- append(config.ELEMENTS(obj.type).attr("id", id))).
- append($("<input>", {
- "type": "hidden",
- "name": "CONTROL$POSITION",
- "id": "control_position_" + idx
- })).
- appendTo("form");
- });
- }
- var span = $("<span>");
- span.addClass(obj.css).
- easydrag(). //et cetera
- ....
- appendTo("form");
- //After the element has finished:
- $(span).data("keys", {
- key: $("label", span).text(),
- value: $("input[name]:hidden", span)
- });
Add Comment
Please, Sign In to add comment