Guest User

Untitled

a guest
Aug 20th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. Saving custom data to dom elements using jquery only once
  2. /*Create controls when only query string exists*/
  3. if (config.params) {
  4. //parse the query string json as a object
  5. //ex:{type:"textbox",x:100,y:200,label:Name}
  6. var params = $.parseJSON(config.params);
  7.  
  8. //for each control in json add it to document body
  9. $(params).each(function (idx, obj) {
  10. var id = new Date();//for generating dynamic id
  11. id = id.getTime();
  12. $("<span>").addClass(obj.css).load(function (ev) {
  13. var a = this;
  14. $(a).data("keys", {
  15. key: $("label", a).text()**certainly label wont be found**,
  16. value: $("input[name]:hidden", a)
  17. });
  18. }).
  19. easydrag().ondrop(function (e, el) {
  20. //easydrag drag drop plugin
  21. var a = $(el),
  22. b = a.data("keys"),
  23. key = b.key,
  24. value = b.value;
  25. value.val(key + "$" + e.pageX + "$" + e.pageY);
  26. }).
  27. css({
  28. position: "absolute",
  29. top: obj.y,
  30. left: obj.x
  31. }).
  32. append($("<label>", {
  33. "for": id
  34. }).
  35. html(obj.label).
  36. append(config.ELEMENTS(obj.type).attr("id", id))).
  37. append($("<input>", {
  38. "type": "hidden",
  39. "name": "CONTROL$POSITION",
  40. "id": "control_position_" + idx
  41. })).
  42. appendTo("form");
  43. });
  44. }
  45.  
  46. var span = $("<span>");
  47. span.addClass(obj.css).
  48. easydrag(). //et cetera
  49. ....
  50. appendTo("form");
  51.  
  52. //After the element has finished:
  53. $(span).data("keys", {
  54. key: $("label", span).text(),
  55. value: $("input[name]:hidden", span)
  56. });
Add Comment
Please, Sign In to add comment