Ankündigung

Einklappen
Keine Ankündigung bisher.

Das zurücksetzen von html list Elementen bei mehr als 5 Einträgen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Das zurücksetzen von html list Elementen bei mehr als 5 Einträgen

    Ich habe bei mir dass Problem dass die list Elemente bei ca. mehr als 5 Elementen die ersten nicht mehr gelöscht werden.


    Code:
    done: function (e, data) { $('#fileupload').prop("disabled", false); $('#senden').prop("disabled", false); $.each(data.result.files, function (index, file) { id = file.name.replace(" ", ""); id = id.replace(/[^a-zA-Z0-9]/g, '_'); id = id.replace("_", ""); $('#progress .bar').text(""); $('
    • ').html("
    • " + file.name + "
    • ").appendTo("#datalist"); deletefile(file.name, id); console.log(id); }); },
    Code:
    function deletefile(name, id) { $('#' + id).click(function () { $.post("transfer.php", {ceck: "delete", id: name}, function (data) { $('#li' + id).html(""); if ($('#li' + id).length) { alert("Das DIV mit der ID '#li' + id existiert"); alert(id); } console.log(id); }); }); }
    Die Element werden erkannt im Backend ebenfalls gelöscht nur $(#"idname").html("") wird nicht zurückgesetzt.

  • #2
    Benutze mal die code-tags - dieses Einzeiler-Kauderwelsch ist schlecht zu lesen. Ausführlichere Info´s (HTML) und JS runtergebrochen auf das Notwendigste wäre nicht schlecht.

    Kommentar


    • #3
      In der Funktion deletefile setzt
      $('#li' + id).html(""); normalerweise das HTML Element list zurück. id ist der Name des Elements (Files).

      done: wird ausgeführt nach dem die Datei erfolgreich Hochgeladen wurde.

      Code:
         function deletefile(name, id)         {    
              $('#' + id).click(function () {              
        $.post("obcctransfer.php",
      {ceck: "delete", id: name}, function (data) {            
              $('#li' + id).html("");                
          if ($('#li' + id).length) {                    
          alert("Das DIV mit der ID '#li' + id existiert");              
                alert(id);                  
        }                
          console.log(id);          
            });            
      });      
        }
      Code:
       done: function (e, data) {      
                    $('#fileupload').prop("disabled", false);            
              $('#senden').prop("disabled", false);                  
        $.each(data.result.files, function (index, file) {                         id = file.name.replace(" ", "");                      
        id = id.replace(/[^a-zA-Z0-9]/g, '_');                      
        id = id.replace("_", "");                      
        $('#progress .bar').text("");                      
        $('<ul>').html("<li id='li" + id + "' ><tr ><td><a id='" + id + "' class='ui-btn ui-icon-delete ui-btn-icon-left'>" + file.name + "</a></td></tr></li>").appendTo("#datalist");                          deletefile(file.name, id);                         console.log(id);                      });                   },

      Kommentar


      • #4
        Was meinst Du mit zurücksetzen? Willst Du das Element löschen oder nur innerHTML auf '' setzen?

        Kommentar


        • #5
          Ja das inner HTML leeren.

          $('#li' + id).html(""); In Prinzip wird das auch alles ausgeführt nur manchmal nicht umgesetzt. die ID ist vorhanden

          Kommentar


          • #6
            Dein HTML-Code ist kaputt. Ein <tr> Element hat in einem <li> Element nichts verloren.

            Kommentar


            • #7
              Habe das Problem gelöst:
              Ich habe $('#li' + id).html(""); mit remove ausgetauscht.

              Kommentar


              • #8
                Damit hast Du den Punkt #6 nicht gelöst.

                Kommentar

                Lädt...
                X