解决方案 »

  1.   

    id都一样肯定不行的,改成name吧
      

  2.   

    一个页面里面的每个元素如果有ID必须ID不同,也就是说你按照ID取绝对只能取到一个元素
      

  3.   

    我看错你的问题了,你还是说详细点吧,你的input里面具体是什么,你取到的是什么
      

  4.   

    Id一样只能取到第一个 改用name
      

  5.   


    从数据库取出数据后用迭代的方式把这些信息显示到前台,<input>是让用户输入一个购买数量,因为把<input>也迭代了,所以它的id是一样的,所以用户输入购买数量的时候只能获得第一个值
      

  6.   


    改成name迭代出来<input> 的值也都是一样的啊
      

  7.   

    我建议给id设置一个变量
    <td ><input type="text" class="tds6" id="buyNumber<%=index%>"/></td>
    这样每次迭代出来的id都不唯一了
      

  8.   


    我试了出红叉,我用的是<s:>标签,该怎么写呢?
      

  9.   


    用变量它的id都变了,document.getElementById("buyNumber").value 就取不到<input>的值了吧
      

  10.   

    如果你通过js根据id获取文本框的值那是不允许的,你可以换个方式用name获取对应的值
      

  11.   

    使用jquery的class选择器$(".tds6")循环取出值
      

  12.   

    <s:iterator value="#request.list" id="list" status="st"><td ><input type="text" class="tds6" id="buyNumber%{#st.index}"/></td> 这样就可以了。我遇到了同样的问题,就是这么解决的。
      

  13.   

    我这样写了在前台还是原样显示
    <dt><input id="number_id%{#st.index}" type="text" name="number" value="1" /></dt>
    这是为什么呢?