2016-08-12 60 views
0

我通过列表从java行动类到jsp文件通过会话变量,我需要设置该列表隐藏的输入字段,并获得该列表jquery函数我用下面的方法做这设置列表的输入字段

我使用设置列表这个代码博克输入字段

<c:if test="${not empty sessionScope.myList}"> 
     <c:forEach items="${sessionScope.myList}" var="item" varStatus="itemLoop"> 
      <input class="myClass" type='hidden' value='${item}'/> 
     </c:forEach> 
</c:if> 

jQuery的方法

$(document).ready(function() { 

     $('input.myClass').each(function() { 
      // do some work 

     }); 
} 

但问题是它的第一个工作唯一的一次,我的列表值是茶由ajax调用,但在更改列表大小和值后,它不会相应地设置值。 当我第二次设置值时,第一次创建的输入字段也在那里。我认为我的方法是不是这样做的正确方法,如果任何人知道更好的方式来做到这一点,请帮助我 谢谢..!

+0

你只在页面加载时调用它,所以它只能在页面加载中工作。 – Mairaj

+0

由于您的文本中标点符号的湖泊,我无法获得问题!他们是自由和有用的。使用他们的男人! – AhmadWabbi

回答

1

但问题是它的工作仅第一次,我的表值由Ajax调用改变,但改变列表大小和值后它不设置值相应的拳头时间创建的输入域也有

您需要先删除创建的元素:

$("input.myClass").remove(); 

或者,如果你知道你的元素的容器,你可以这样做:

var $parent_container = $("your-selector-for-the-container"); 
$parent_container.empty(); 

我觉得我的方法是不这样做,如果有任何人知道的更好的方法做正确的方式这个请大家帮我

我通常不全局变量的粉丝,但在你的情况一个全局变量可能比保持这个信息(你的列表项)在DOM中更好。

+0

使用“.remove()”方法后,我可以解决我的问题。谢谢mpf82,这真的很有帮助 – Kani