2016-04-27 16 views
0

Ich versuche, eine Inline-Bearbeitung von Todo-Listen zu implementieren. Ich habe diesen Code und ich möchte in der Lage sein, den Wert darin zu bekommen.Wie bekomme ich Wert innerhalb .html() in JQuery

$(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()); 
    }); 
} 

Wie kann ich den aktuellen Wert in der Eingabe innerhalb .html() erhalten?

Ich versuchte, var aaa = $('#aaa').val();, aber es funktioniert nicht .. Wie kann ich das tun?

Vielen Dank für Ihre Hilfe.

+0

'$ (currentEle) .find ('# aaa'). Val (); 'versuchen Sie diese – guradio

+0

Sie diese gehackte Version' var aaa = value'; – madalinivascu

+0

@ madalinivascu, Oder einfach "Wert" verwenden: P – Rayon

Antwort

1

Legen Sie Ihre Veranstaltungen nicht in einer Funktion, die durch etwas anderes ausgelöst wird

$(".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(); }); 
      }); 
     } 
    }); 
0

Verwenden .find(SELECTOR)

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

Edit: Wie updateValfunction oft aufgerufen werden könnte, werden Sie mehr ID gleiche value im DOM mit haben. Stellen Sie sicher, dass die ID muss eindeutig sein

+0

Okay, vielen Dank für diese Informationen und auch für Ihre Hilfe. Trotzdem, danke. –

Verwandte Themen