Grab Dynamically Appended Values

Michael Schwartz

http://jsbin.com/kunawoho/1/edit

Working example - http://jsbin.com/vuwaxuqi/1/edit

I'm working on an experimental web designer and I'm trying to grab already added values of css selectors. The fiddle I made generates two buttons and is suppose to clone the input [type=text]. The first is an X meaning close. The second is the text of the value. However I keep getting [object Object] returning from the dynamically cloned input [type=text]. (No errors are showing up in console either)

I want to click the button and grab the dynamically added value from before and display it in the selector. (I know I can grab this from the button's text, but cause I'm working wit 30+ values in my app it makes more since to stick with what I'm using and grab from that in a closed container. That way everything is grouped and easier to manage).

Not sure why it's not cloning.

$(document).ready(function() {
  $(".addvalz").on('click', function() {
    // Adds value
    $(".val-nester").append("<div class='holddezvalz'><button class='deldizval'>x</button><button class='grabdezvalz'>"+ $(".inputval").val() +"</button>"+ $(".inputval").clone() +"</div>");

    // Can't add same value twice. Replace?
    var $cssselbtn = $(".val-nester > .holddezvalz button:contains(" + $(".inputval").val() + ")");
    if($cssselbtn.length > 1) {
      var x = window.confirm("Selector already exists. Want to replace it?");
      if (x) {
        $cssselbtn.first().parent().remove();
      } else {
        $cssselbtn.last().parent().remove();
        return false;
      }
    }

    // Delete a value
    $(".deldizval").on('click', function() {
      $(this).parent().remove();
    });


  });
});
blgt

Expanding on @Regent's answer, just split up the append line:

   $(".val-nester").append("<div class='holddezvalz'><button class='deldizval'>x</button><button class='grabdezvalz'>"+ $(".inputval").val() +"</button></div>");
   $(".val-nester > div.hoddezvalz").append($(".inputval").clone());

Or, a little more readable:

$(".val-nester").append($("<div class='holddezvalz'>")
     .append("<button class='deldizval'>x</button>")
     .append("<button class='grabdezvalz'>"+ $(".inputval").val() +"</button>")
     .append($(".inputval").clone())
);

Also, you should sanitize input.val() before you append it to the DOM. Replace input.val() with something like

.append( ... + $("<p>").text( $(".inputval").val() ).text() + ... );

Then, in the selector, you should surround it with quotes and escape quotes inside it

":contains('" + $(".inputval").val().replace("'", "\\'") + "')"

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Why is the content being appended to the wrong dynamically-generated tab?

From Dev

How to dynamically rename an appended item of a list

From Dev

AngularJS ng-click not working for dynamically appended kendo panelbar

From Dev

Grab multiple radio values

From Dev

Jquery events do not work on dynamically appended elements

From Dev

Grab the aperture values in .chan camera

From Dev

How to dynamically grab the first available number in a loop?

From Dev

Grab Values Within a Dictionary in a Dictionary

From Dev

JQuery - Listen for a "scroll" event in an dynamically added/appended element

From Dev

Getting trouble in fetching individulal src of a dynamically appended images using JQUERY

From Dev

Is it possible to grab a static class dynamically using enum?

From Dev

How to add click events for dynamically appended elements using jquery?

From Dev

Accessing dynamically appended div elements in jQuery

From Dev

Accessing values that are appended to a list in a recursive function

From Dev

Data appended to multiple dict values instead of one

From Dev

How to dynamically rename an appended item of a list

From Dev

Grab Dynamically Added Content

From Dev

Grab multiple radio values

From Dev

For loop to produce a comma delimited string of appended values

From Dev

How to Grab input values of dynamically added input boxes using jquery

From Dev

Getting appended values in URL using ruby?

From Dev

How to dynamically grab the first available number in a loop?

From Dev

How to add click events for dynamically appended elements using jquery?

From Dev

Accessing dynamically appended div elements in jQuery

From Dev

Dynamically created table only displays last appended table data

From Dev

Grab from table values

From Dev

Dynamically add values to SELECT box, appended to body

From Dev

How to call jQuery click function from dynamically appended elements?

From Dev

Firefox removing iFrame's body contents which was appended dynamically

Related Related

  1. 1

    Why is the content being appended to the wrong dynamically-generated tab?

  2. 2

    How to dynamically rename an appended item of a list

  3. 3

    AngularJS ng-click not working for dynamically appended kendo panelbar

  4. 4

    Grab multiple radio values

  5. 5

    Jquery events do not work on dynamically appended elements

  6. 6

    Grab the aperture values in .chan camera

  7. 7

    How to dynamically grab the first available number in a loop?

  8. 8

    Grab Values Within a Dictionary in a Dictionary

  9. 9

    JQuery - Listen for a "scroll" event in an dynamically added/appended element

  10. 10

    Getting trouble in fetching individulal src of a dynamically appended images using JQUERY

  11. 11

    Is it possible to grab a static class dynamically using enum?

  12. 12

    How to add click events for dynamically appended elements using jquery?

  13. 13

    Accessing dynamically appended div elements in jQuery

  14. 14

    Accessing values that are appended to a list in a recursive function

  15. 15

    Data appended to multiple dict values instead of one

  16. 16

    How to dynamically rename an appended item of a list

  17. 17

    Grab Dynamically Added Content

  18. 18

    Grab multiple radio values

  19. 19

    For loop to produce a comma delimited string of appended values

  20. 20

    How to Grab input values of dynamically added input boxes using jquery

  21. 21

    Getting appended values in URL using ruby?

  22. 22

    How to dynamically grab the first available number in a loop?

  23. 23

    How to add click events for dynamically appended elements using jquery?

  24. 24

    Accessing dynamically appended div elements in jQuery

  25. 25

    Dynamically created table only displays last appended table data

  26. 26

    Grab from table values

  27. 27

    Dynamically add values to SELECT box, appended to body

  28. 28

    How to call jQuery click function from dynamically appended elements?

  29. 29

    Firefox removing iFrame's body contents which was appended dynamically

HotTag

Archive