Isabella
Isabella

Reputation: 455

How to get value inside .html() in JQuery

I am trying to implement an inline edit of Todo lists. I have this code and I want to be able to get the value inside it.

$(function clickedit() {
    $(".a").dblclick(function (e) {
        e.stopPropagation();

        var currentEle = $(this);
        var value = $(this).html();
        var id_val = $(this).attr('value');
        //alert(id_val);

        updateVal(currentEle, value, id_val);/**/
    });
});

function updateVal(currentEle, value, id_val) {
    $(currentEle).html('<input class="thVal" id="aaa" type="text" value="' + value + '" />'); // i want to get the value inside the input
    var aaa = $('#aaa').val();
    $(".thVal").focus();
    $(".thVal").keyup(function (event) {



        if (event.keyCode == 13) {
            alert(aaa);

            $.post('includes/edit-task3.php', { task_name: aaa, task_id:  id_val}, function() {
                $(currentEle).html($(".thVal").val().trim());
                alert('in');
                //current_element.parent().fadeOut("fast", function() { $(this).remove(); });
            });
        }
    });

    $(document).click(function () {
            $(currentEle).html($(".thVal").val().trim());
    });
}

How can I get the current value in the input inside .html()?

I tried, var aaa = $('#aaa').val(); but it does not work.. How can I do this?

Thank you so much for your help.

Upvotes: 0

Views: 149

Answers (2)

madalinivascu
madalinivascu

Reputation: 32354

Don't put your events in a function that is triggered by something else

$(".thVal").keyup(function (event) {
        if (event.keyCode == 13) {
           var aaa = $(this).val();
            alert(aaa);

            $.post('includes/edit-task3.php', { task_name: aaa, task_id:  id_val}, function() {
                $(currentEle).html($(".thVal").val().trim());
                alert('in');
                //current_element.parent().fadeOut("fast", function() { $(this).remove(); });
            });
        }
    });

Upvotes: 1

Rayon
Rayon

Reputation: 36609

Use .find(SELECTOR)

$(currentEle).find('#aaa').val();

Edit: As updateVal function could be invoked many times, you will have multiple ID having same value in the DOM. Make sure the ID must be unique

Upvotes: 0

Related Questions