以下のready関数でCSS値を設定する必要があります。
$(document).ready(function ()
{
$("<div id='" + 1 + "' class='box'></div>").css("left", 105).css("top", 54).appendTo("#center").draggable();
$("<input type='text'></input>").appendTo("#" + 1);
}
正常に動作し、ドラッグ可能なdiv内にテキストボックスを作成してtop:54に配置し、105を残します。サーバークエリからX、Yを取得する必要があり、これを試しました。
$(document).ready(function ()
{
$.ajax({
type: "POST",
url: "Default.aspx/Get",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg)
{
var singleControls = msg.d.split('.');
$.each(singleControls, function (key, value)
{
var singleParameters = value.split(',');
if (singleParameters[0] != "")
{
var ids = singleParameters[0];
var type = singleParameters[1];
var cordX = singleParameters[2];
var cordY = singleParameters[3];
var container = $("#center").position();
var x_Coord = cordX - container.left;
var y_Coord = cordY - container.top;
$("<div id='" + ids + "' class='box'></div>").css("left", cordX).css("top", cordY).appendTo("#center").draggable();
$("<input type='text'></input>").appendTo("#" + ids);
}
});
}
});
Get()がX、Yを返す場合、これによりdivが作成されますが、0,0に配置されます。誰かがこれが機能しない理由を説明できますか?