/ / Wie entferne ich qq-uploader aus der ausgewählten Tabellenzeile? - javascript, jquery, css, asp.net-mvc-3

Wie entferne ich qq-uploader aus der ausgewählten Tabellenzeile? - javascript, jquery, css, asp.net-mvc-3

Ich arbeite an einer Datei-Upload-Funktion in meiner MVC 3Anwendung. Ich habe es richtig funktioniert (irgendwie), das Problem liegt in der onComplete-Funktion, wenn ich versuche, die qq-uploader-Klasse zu entfernen, wird es aus allen überprüften Tabellenzellen entfernt. Der Arbeitsablauf wäre wie folgt. Der Benutzer prüft mehrere Kontrollkästchen, in denen in jeder Zeile das Kontrollkästchen "Datei hochladen" angezeigt wird. Sobald jedoch ein Upload in einer Zeile abgeschlossen ist, wird die Klasse "qq-uploader" aus allen Zellen entfernt, nicht nur aus der Zelle, in der die Datei wurde hochgeladen.

Die betreffende Tabellenzeilenzelle:

     @if (Model.ElementAt(index).CertName != null)
{
<td>@Html.DisplayFor(m => Model.ElementAt(index).CertName)</td>
}
else
{
<td id ="attBtn" class="file-uploader-attachment-Class"></td>
}

Skript verwendet in Ansicht:

  <script type="text/javascript">
$(document).ready(function () {

function handleCheckbox() {
if ($(this).find(":checkbox").is(":checked")) {
$(this).find(".file-uploader-attachment-Class").removeClass("upload-placeholder-unchecked");

createUploader($(this));
}
else {
$(this).find(".file-uploader-attachment-Class").addClass("upload-placeholder-unchecked");
$(this).find(".file-uploader-attachment-Class").html($("#myHTML2").html());
}
}

$("tr").each(handleCheckbox);
$("tr").on("click", handleCheckbox);

function createUploader(container) {

var elements = container.find(".file-uploader-attachment-Class");

var CAL_ID = container.find(":checkbox").val()

var row = $(this).parent();

Array.prototype.filter.call(elements, function (element) {

var uploader = new qq.FileUploader({
element: element,
sizeLimit: 2147483647, // max size
action: "/CalibrationViewer/AttachmentUpload",
allowedExtensions: ["xls", "xlsx", "pdf", "doc", "docx", "csv", "txt", "rtf", "zip", "zipx", "7z"],
params: {
customer: CUST_NAME,
calibrationId: CAL_ID
},
multiple: false,
debug: false,

onComplete: function (id, fileName, responseJson) {
alert(responseJson.msg);
$(".qq-uploader").remove();
elements.closest(".file-uploader-attachment-Class").prepend("<div class="uploadedTag"><p>Uploaded</p></div>")
}

});

});
}
});

Antworten:

0 für die Antwort № 1

Das hat für mich funktioniert

  elements.closest(".file-uploader-attachment-Class").find(".qq-uploader").remove();