1

我正在嘗試刷新一個div,並且結束了div的重複即ie;一個在另一個裏面。我目前使用jQuery,Struts2和Struts2 jQuery插件來實現我的視圖。jQuery .load duplicated div

它目前正在做:

<div id="nameVolumeWrapper....> 
    <div id="nameVolumeWrapper....> 
    </div> 
</div> 

刷新腳本

<script> 
    function reloadContent() { 
     $('#nameVolumeWrapper').load('${jsonAction} #nameVolumeWrapper'); 
    } 
</script> 

元素調用刷新腳本

<sj:select href="%{jsonURL}" 
       id="utility" 
       name="selectedUtility" 
       list="utilityList" 
      headerKey="-1" 
     headerValue="Please Select A Utility" 
      onchange="reloadContent()" 
    onChangeTopics="reloadSecondList"/> 

的div我試圖重新加載

<sj:div id="nameVolumeWrapper" listenTopics="reloadSecondList" 
     effect="pulsate" effectDuration="1000" 
     cssStyle="height:250px; overflow-y: scroll; width:910px; 
     margin-left:auto; margin-right:auto;"> 
<table id="pricingInput" class="footable" style="width: 800px; 
     table-layout: fixed; margin-left: auto; margin-right: auto; 
     margin-bottom:50px;"> 
    <thead> 
     <tr> 
      <th style="text-align: center;">Account Name</th> 
      <th style="text-align: center;">Annual kWh Volume</th> 
      <th style="text-align: center">Rate Class</th> 
      <th style="text-align: center;">Add Another?</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td><s:textfield name="nameHolder" /></td> 
      <td><s:textfield name="volumeHolder" /></td> 
      <s:url id="jsonURL" action="jsonAction" namespace="/"/> 
       <td> 
        <sj:select href="%{jsonURL}" 
           id="rate_class" name="rateHolder" 
           list="rateClassList" 
          headerKey="-1" 
         headerValue="Please Select a RateClass" 
         reloadTopics="reloadSecondList"/> 
       </td> 
      <td> 
       <input type="button" class="addButton" value="Add" /> 
       <input type="button" value="Delete" onclick="deleteRow(this)"> 
      </td> 
     </tr> 
    </tbody>          
</table> 

長話短說,我該如何修改我的JavaScript或DIV定義,讓這個時的JavaScript是div不重複叫什麼名字?

+0

@Pete雖然該解決方案在理論上可以工作,我的表會展開,並通過我的縮小添加/刪除行功能和使用.html()代碼它不會將其重置爲其默認大小,而是保持其修改後的形式與該解決方案 – gcalex5

+1

如果它複製你的代碼你沒有正確使用加載函數或響應有一個div裏面有相同的ID .. $(你的TA RGET).load(URL,function(){alert('done')} – gulty

+0

我認爲我必須走下去的路線是通過Pete的get;並從不同的文件加載我的數據,並使用replacewith函數來獲得我正在尋找的東西。 – gcalex5

回答

2

你可以做這樣的事情:

$.get("${jsonAction} #nameVolumeWrapper", function(data) { 
    $('#nameVolumeWrapper').html($(data).html()); 
}); 

或者如果不工作,你可以這樣做:

var wrapper = $('#nameVolumeWrapper'); 
wrapper.load('${jsonAction} #nameVolumeWrapper', function() { 
    wrapper.children('#nameVolumeWrapper').unwrap(); 
});