2014-12-21 11 views
-2

我有一个下面的代码。它是一个基于$ {listStores}输出的动态表。每行在最后一个单元格上都有一个编辑按钮。点击它我想获得StoreId这是一个隐藏的元素对该行相应的行。从包含编辑按钮的行获取元素值

 <tbody> 
     <c:forEach items="${listOpenStores}" var="store"> 
      <tr> 
       <td class="collapsing"> 
        <div class="ui fitted checkbox"> 
         <input type="checkbox"> <label></label> 
        </div> 
       </td> 
       <td id="at-liststore-storeid-hidden" > 
        <div class="ui input"> 
         <input type="text" value="${store.storeId}"> 
        </div> 
       </td> 
       <td>${store.storeName}</td> 
       <td>${store.storeURL}</td> 
       <td> 
        <div id="at-store-edit-btn" class="ui primary icon button"><i class="pencil icon"></i></div> 
       </td> 
      </tr> 
     </c:forEach>    
    </tbody> 
+1

你试图解决这个自己?你走多远了?告诉我们你的代码。 – PeterKA

+1

ID **必须**在文档上下文中是唯一的。您呈现的HTML标记无效$ –

+0

我尝试使用var elem = $(this).parent()。parent();但不能通过 –

回答

1

试试这个:

$(this).parent().siblings('#at-liststore-storeid-hidden').find('input').val(); 

但要重复相同的id是无效的 所以,你也可以试试这个没有ID

$(this).parent().prev().eq(2).find('input').val(); 
+0

嘿,什么可能是一种更好的方式来实现这种功能?如果我想让Id的唯一性,使用id动态追加storeid是否是一个更好的主意,或者如果我想引用这个name属性? –

+0

@上面它主要取决于你的需要,如果你的页面不是很大或没有ids是在数百然后存储动态id是最好的方式来执行此任务becoz在jquery中搜索id是最快的方法,否则使用普通类也是个好主意。 – Jain