2010-07-12 18 views
0

如果用戶點擊addFilter,我必須複製一組屬性。然後相同的一組屬性應該以默認標準顯示。如何在使用jquery複製時重新索引/修改屬性名稱

如何在使用jquery複製的同時重新索引/修改屬性的名稱?我試過這個,但是,我無法重新索引屬性名稱。

下面是代碼:

<tr> 
    <td id="filters"> 
     <s:iterator id="filterCondtion" status="status" 
       value="filterCondtion"> 
     <s:select cssClass="drop" 
      name="filterCondtion[%{#status.index}].attributeName" 
      list="#actPropertyInfo.lstEntities" listKey="code" 
      listValue="value"> 
     </s:select> &nbsp; 

     <s:select cssClass="drop" 
      name="filterCondtion[%{#status.index}].filterOption" 
      list="#actFilOption.lstEntities" listKey="code" listValue="value"> 
     </s:select> 
        &nbsp; <s:textfield 
        name="filterCondtion[%{#status.index}].attributeValue" 
        cssClass="textbx" />&nbsp; 

    </s:iterator> 
    <div id="filteredTable"></div> 
    </td> 
    <td>&nbsp; <a href="#" id="addFltr"><strong> 
       <s:text name="common.addFilter" /> 
      </strong></a> 
      <s:submit cssClass="btn" name="button.find" key="button.find" /> 
      <input type="reset" value="<s:text name="button.reset"/>" class=btn /> 
    </td> 
</tr> 


<script type="text/javascript"><!-- 
$(document).ready(function(){ 
    $('#addFltr').click(function(){ 
$('#filteredTable').prepend($('#filters').clone().attr("id","remove")); 
    }); 
}); 
--></script> 

回答

0

可以使用.removeAttr()這樣做:

$(function(){ 
    $('#addFltr').click(function(){ 
    $('#filteredTable').prepend($('#filters').clone().removeAttr("id")); 
    }); 
}); 

.attr("id", "remove")的ID來id="removed",如果你想徹底刪除,使用.removeAttr()函數,它會將它從元素中取出來,這樣您就可以設置所有元素,並且不會有重複的ID。

+0

但是,名稱會相似。 like,filterCondtion [0] .attributeName,filterCondtion [0] .attributeValue將存在於複製元素和原始元素中。如何解決此問題。 – Jothi 2010-07-12 13:30:08

+0

@Jothi - 你想刪除這些屬性,或者例如用'[1]'替換'[0]'等等? – 2010-07-12 14:48:23

+0

我想創建基於可用對象的新索引。這些新的索引應該用於複製屬性。我不知道如何創建新的索引(通過Jquery/Ajax)。請解釋一下,如果你有任何想法。 – Jothi 2010-07-12 16:33:27

相關問題