ページが最初に読み込まれたときに空白で始まるul要素を含むdiv要素があります。ユーザーはli要素をこのdivボックスにドラッグして、ul要素を入力します。私はulコンテナに追加されたli要素を保持できるようにする必要があります。そうすれば、投稿後にli要素を表示できるようになります。どうすればこれを達成できますか?クライアントのHTML変更を保存する
<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>
ドラッグアンドドロップは、javascriptとjqueryで行われます。これらはすべてasp.netページにあります。ドラッグが完了したときに、これは
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();
}
を実行されるコードであるので、私は通過し、ドロップダウンボックスにあり、それらを戻すために仮定されているすべての要素を取得するには、以下のこのコードを試してみました。それは、それは私はあなたがASPであなたの要素のIDを保存することをお勧め
//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(){
}
特にドラッグ&ドロップ操作を実行するために使用しているフレームワークのような詳細を提供したい場合があります。これらのツールのすべてが、あなたが望むものを達成するためのさまざまな方法を持っています。 – NotMe
状態を保存するためにクライアント側でドロップが行われたときにAJAXリクエストをサーバーに送信しないと、あなたが望むことを実行できるようになりますか?私は混乱するかもしれません。ポストバックがサーバーの更新をどこで行っているのかわかりません... – gbvb
コントロールの '.innerHtml'プロパティを文字列としてサーバーに送信しようとしましたか?また、あなたのコントロールで 'runat = server'を設定すると、ページ全体を提出するときに更新されたコンテンツを自動的に取得することができます。 – BertuPG