Ich habe ein div-Element, das ein ul-Element enthält, das beim Laden der Seite leer beginnt. Der Benutzer kann dann li-Elemente in dieses div-Feld ziehen, das das ul-Element auffüllt. Ich muss in der Lage sein, die li-Elemente beizubehalten, die dem ul-Container hinzugefügt wurden, so dass ich die li-Elemente nach einem Post-Back anzeigen kann. Wie kann ich das erreichen?Speichern Client HTML-Änderungen
<div class="sidebar-drop-box">
<p class="dropTitle"><strong>Drop Box</strong><br />
Drag and drop tracks here temporarily if you’re working with a long playlist.</p>
<ul class="admin-song-list"></ul>
</div>
Drag & Drop ist mit Javascript und jquery gemacht. All dies sitzt auf einer asp.net-Seite. wenn die Schlepp abgeschlossen ist dieser Code, der ausgeführt wird
function AddToDropBox(obj) {
$(obj).children(".handle").animate({ width: "20px" }).children("strong").fadeOut();
$(obj).children("span:not(.track,.play,.handle,:has(.btn-edit))").fadeOut('fast');
$(obj).children(".play").css("margin-right", "8px");
$(obj).css({ "opacity": "0.0", "width": "284px" }).animate({ opacity: "1.0" });
if ($(".sidebar-drop-box ul").children(".admin-song").length > 0) {
$(".dropTitle").fadeOut("fast");
$(".sidebar-drop-box ul.admin-song-list").css("min-height", "0");
}
if (typeof SetLinks == 'function') {
SetLinks();
}
Also habe ich versucht, diesen Code unten durch zu gehen und alle Elemente zu erhalten, die in dem Dropdown-Feld sein, sind wohl und legte sie zurück. aber es hat nicht sie in die Drop-Box hinzuzufügen, die Änderungen an der Master-Liste gemacht
//repopulate drop box
if(document.getElementById("ctl00_cphBody_hfRemoveMedia").value!="")
{
var localRemoveMedias=document.getElementById("ctl00_cphBody_hfRemoveMedia").value.split(",");
$(".admin-left li.admin-song").each(function(){
// alert("inEach");//WORKS
for(x in localRemoveMedias)
{
if($(this).attr("mediaid")==localRemoveMedias[x])
{
AddToDropBox($(this));
}
}//end for
});//function(){
}
Vielleicht möchten Sie weitere Informationen bereitstellen, wie z. B. das Framework, das Sie zum Ziehen/Ablegen verwenden. Jedes dieser Tools hat verschiedene Möglichkeiten, um das zu erreichen, was Sie wollen. – NotMe
Würde eine AJAX-Anfrage an den Server nicht gestellt, wenn die Löschung auf der Client-Seite vorgenommen wurde, um den Status zu speichern, damit Sie das tun können, was Sie wollen? Ich könnte verwirrt sein. Ich bin nicht sicher, wo das Postback das Update auf den Server macht ... – gbvb
Haben Sie versucht, die '.innerHtml' -Eigenschaft Ihres Steuerelements als Zeichenfolge an den Server zu senden? Vielleicht auch die Einstellung 'runat = server' in Ihrem Steuerelement, Sie können den aktualisierten Inhalt automatisch erhalten, wenn Sie die ganze Seite einreichen. – BertuPG