2013-09-26 38 views
0

我很新,在这和我怎么知道我怎么能从一个动态的表创建一个索引行struts2。以下是我迄今为止尝试:从表中删除动态添加的行struts2

测试文件

<table class="table table-bordered table-striped table-condensed table-hover" 
     id="exp"> 
    <thead> 
     <tr> 
      <th class="center"></th> 
      <th>Name</th> 
     </tr>   
    </thead> 

    <tbody> 
     <s:if test="listanume.size>0"> 
      <s:iterator value="listanume" status="statusVar"> 
       <tr> 
        <td class="center"> 
          <button class="btn" onclick="javascript:setval(0)"> 
           delete 
          </button> 
        </td> 
        <td><s:property value="nume"/></td> 
       </tr> 
      </s:iterator> 
     </s:if> 
    </tbody> 
</table> 
<h4>Numarul randului este: <s:property value="mysample"/> </h4> 

    <script> 
     var mysample= ''; 
     function= setval(varval){ 
      mysample=varval; 
      alert(mysample); 
     } 
    </script> 

流行的Java

public class Pop { 
private int nrrow; 
private List<UserModel> listanume = new ArrayList<UserModel>(); 

UserModel user = new UserModel(), 
     user1 = new UserModel(), 
     user2 = new UserModel(); 

private String[] sample; 

{ 
    sample = new String[]{"list1", "list2", "list3"}; 
} 


public String execute() { 

    user.setEmail("[email protected]"); 
    user.setPass1("1234"); 
    user.setNume("gigel"); 

    user1.setEmail("[email protected]"); 
    user1.setPass1("6789"); 
    user1.setNume("marius"); 

    user2.setEmail("[email protected]"); 
    user2.setPass1("7676"); 
    user2.setNume("sorin"); 

    sample1.add(user); 
    sample1.add(user1); 
    sample1.add(user2); 

    return "succes"; 
} 

public String afisnrow(){ 

    execute(); 
    listanume=sample1; 

    return "succes"; 
} 

public String[] getSample() { 
    return sample; 
} 

public void setSample(String[] sample) { 
    this.sample = sample; 
} 

public List<UserModel> getSample1() { 
    return sample1; 
} 

public void setSample1(List<UserModel> sample1) { 
    this.sample1 = sample1; 
} 

public void setNrrow(int nrrow){ 
    this.nrrow=nrrow; 
} 

public int getNrrow(){ 
    return nrrow; 
} 

public List<UserModel> getListanume(){ 
    return listanume; 
} 

public void setListanume(List<UserModel> listanume){ 
    this.listanume=listanume; 
} 
} 

每一行上有一个按钮,当我点击该按钮,我需要得到行索引,我有点卡住,想法不全,有什么建议?

+0

你使用jQuery创建动态表? –

+0

现在我正在使用struts2创建表格,因为您看到我正在使用

+1

您正在调用'setval'函数,并在每行中传递0。你试图放在那里? –

回答

1

与Struts2的iterator标签here

onclick="javascript:setval(<s:property value="#statusVar.index" />)"

更多信息取代 onclick="javascript:setval(0)"

+0

这是正确的,但我不会使用它,因为它不是我需要的,insted这个答案给了我一个ideea如何重新解决这个问题。 –

+0

太棒了。请分享您做的评论,以便让其他人受益。 –

0

的解决方案,我发现是这样的:

测试文件

<table class="table table-bordered table-striped table-condensed table-hover" 
    id="exp"> 
<thead> 
    <tr> 
     <th class="center"></th> 
     <th>Name</th> 
    </tr>   
</thead> 

<tbody> 
    <s:if test="listanume.size>0"> 
     <s:iterator value="listanume" status="statusVar"> 
      <tr> 
       <td class="center"> 
         <button class="btn" id="<s:property value='indexrow'/>"> 
          delete 
         </button> 
       </td> 
       <td><s:property value="nume"/></td> 
      </tr> 
     </s:iterator> 
    </s:if> 
</tbody> 
</table> 

<i><p id="test"> No button pressed.</p></i> 

<script> 
$("button").click(function(e){ 
    var idClicked = e.target.id; 
$("#test").html(idClicked); 
}); 
</script> 

流行的Java

public class Pop { 
private int indexrow; 
private List<UserModel> listanume = new ArrayList<UserModel>(); 

UserModel user = new UserModel(), 
      user1 = new UserModel(), 
      user2 = new UserModel(); 

public String execute() { 

    user.setEmail("[email protected]"); 
    user.setPass1("1234"); 
    user.setNume("gigel"); 

user1.setEmail("[email protected]"); 
user1.setPass1("6789"); 
user1.setNume("marius"); 

user2.setEmail("[email protected]"); 
user2.setPass1("7676"); 
user2.setNume("sorin"); 

listanume.add(user); 
listanume.add(user1); 
listanume.add(user2); 

return "succes"; 
} 

public String afisnrow(){ 

    execute(); 
    for (UserModel userModel : listanume) { 
     UserModel userModel1=new UserModel(); 
     indexrow++; 

     userModel1.setNume(userModel.getNume()); 
     userModel1.setIndexrow(indexrow); 

     listanume.add(userModel1); 

    } 
    return "succes"; 
} 

    public List<UserModel> getListanume(){ 
    return listanume; 
    } 

    public void setListanume(List<UserModel> listanume){ 
    this.listanume=listanume; 
    } 
}