大家好,我现在碰到一个问题,是关于js传值的。  在页面里,有一个list,用
<c:forEach items="${invoiceInquiryBean.poLineList}" var="list" varStatus="status"> 把list显示出来。
比如说这个list里有10行数据,则显示10个button,现在的问题就是,我点其中任意一个按钮,比如点第五个按钮,如何把当前的‘5’这个数值传出去??
我的BUTTON是用JSF写的
<h:commandButton value="Distribution" action="#{invoiceInquiryBean.poDistribution}"
    onclick="lfNewWidow(<c:out value='${status.count}'/>)">
</h:commandButton>我查了一下,说JSF里的commandButton不能传参数,那就只能通过javascript传了,  我本来是按上面这种写法的,但页面提示有错误,说不能有语句在javascript里。  唉,  我该怎么传这个当前值呢??谢谢大家了!

解决方案 »

  1.   

    ${status.count}  取总数
    ${status.index}  取第几个(注意:从0开始,要想从1开始${status.index+1})
      

  2.   


    <c:out value='${this.index}'/>
      

  3.   

    我把你们说的${status.index}, 或者 <c:out value='${this.index}'/>放进javascript里面了,
    onclick="lfNewWidow('${status.index}')"  但是页面出不来,  有错误,
    According to TLD or attribute directive in tag file, attribute onclick does not accept any expressions
      

  4.   

    这样呢?
    onclick="lfNewWidow(<c:out value='${status.index}'/>)"
      

  5.   

    <c:forEach items="${invoiceInquiryBean.poLineList}" var="list" varStatus="status">
    这边你是怎么写的呀,把代码贴出来
      

  6.   

    <c:forEach items="${invoiceInquiryBean.poLineList}" var="list" varStatus="status">
    <table width="100%" border="0" align="center" cellspacing="1" cellpadding="1">
        <td valign="top" class="Label" align="center">
    <h:commandButton value="Distribution" action="#{invoiceInquiryBean.poDistribution}" onclick="lfNewWidow(<c:out value='${status.index}'/>)"/>
        </td>
    代码就是这样了。   反正是需要用JSF来写的代码,  至于是否用jstl到并非强制。  现在我用了JSTL取一个list内容,,循环输出一个LIST。  比如说有10条数据。。  按顺序排出10条数据。  每条数据后都有一个button。  需要做的是, 点第几个按钮,就把那个当前号码传进去。比如点第三个按钮,就把数值“3”传过去。
      

  7.   

    你forEach没必要循环table吧
    试试
    <table width="100%" border="0" align="center" cellspacing="1" cellpadding="1">
    <c:forEach items="${invoiceInquiryBean.poLineList}" var="list" varStatus="status">
    <tr>
      <td buttonIndex="${status.index}" valign="top" class="Label" align="center">
    <h:commandButton value="Distribution" action="#{invoiceInquiryBean.poDistribution}" onclick="lfNewWidow(this.parentNode.buttonIndex)"/>
      </td>
    </tr>
    </c:forEach>
    </table>