动态添加元素到jQuery Sortable

时间:2010-01-08 00:43:35

标签: c# javascript jquery asp.net-mvc jquery-ui-sortable

这应该是关于Jquery Sortable的最后一个问题...暂时:)

我有一个列表,我可以动态删除元素。当用户单击元素上的X关闭框时,我得到父元素(元素本身)并将其删除:

    function DeleteLink() {
        var jItem = $(this).parent();

        var LinkId = jItem[0].childNodes[1].innerText || jItem[0].childNodes[3].textContent;
        var LinkTitle = jItem[0].childNodes[2].innerText || jItem[0].childNodes[5].textContent;

        if (!confirm(String.format("Are you sure you want to delete link #{0}?\n\nTitle: {1}", LinkId, LinkTitle)))
            return;

        jItem.remove();
        $.post("/Home/DeleteLink/" + LinkId);
        showStatus("Link deleted...", 5000);
    }

如果您感兴趣,可以像这样创建无序列表:

<ul id="sortable1" class="connectedSortable">
        <% foreach (Link l in Model)
             {
                 if (l.Visible == true)
                 {%>
                    <li class="photolistitem" style="min-height:50px;">
                    <div class="imagecontainer"><img src="/Content/images/link.jpg" style="float:left; padding-right:5px;" class="thumbnailimage" alt="" /></div>
                    <div id='<%=l.Id%>Id'><%=l.Id%></div>
                    <div id='<%=l.Id%>Description'><%=l.Title%></div>
                    <div id='<%=l.Id%>Description'><%=l.Description%></div>
                    <div id='<%=l.Id%>Description'><%=l.Url%></div>
                    <div class='deletethumbnail'>X</div>
                    </li>
               <%}%>
       <%}%>  
    </ul>

我想要做的是在页面底部放置一个表单,以便用户可以动态添加元素 - 他们只需要插入描述,标题和URL(我将使用另一个jquery插件验证输入。)

我认为最大的挑战是动态创建一个可以附加到列表中的对象。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

jQuery

thisDependant = $('.DependantTemplate').clone();
$(thisDependant).removeClass("DependantTemplate");
$(thisDependant).addClass("Dependant" + dependantNum);
$('.DependantList').append(thisDependant);

HTML

<div class="DependantTemplate hidden">
  <div style="float:left;" class="DependantNumber spacerRight10"></div>
  <div style="float:left;" class="DependantFirstName spacerRight10"></div>
  <div style="float:left;" class="DependantLastName spacerRight10"></div>
  <div style="float:left;" class="DependantDateOfBirth spacerRight10"></div>
  <div style="float:left;" class="DependantGender spacerRight10"></div>
  <div style="float:left;" class="DependantType"></div>
  <div class="clearFloats"></div>
</div>

<div class="DependantList"></div>

以上是我用来做你正在寻找的事情。