JSP页面上查出多条数据,如何点击一条数据,然后将该数据的所有值都传给即将显示的dialog窗口(用来修改该条数据),并将值都显示在该窗口上对应的文本框内。
JSP的数据来自action的request作用域。我只知道这dialog是页面加载时就有的,不知道怎么动态的给他传作用域里的值。

解决方案 »

  1.   

    在点击事件里面获取点击的数据,然后获取dialog里面的html内容,把得到的数据 分配给 html 对应 的 文本框的value。
      

  2.   


    不太懂啊。这是我页面得到的数据。
    <s:iterator value="#infos" var="n">
                  <tr>
                   <td><input type="checkbox" name="infoId" value="<s:property value="#n.infoId"/>"/></td>                         
                    <td><s:property value="#n.hr.hrName"/></td>
                    <td><a href="#" title="title"><s:property value="#n.title"/></a></td>              
                    <td><s:property value="#n.content"/></td>
                    <td><s:property value="#n.issueTime"/></td>                          
                 <td><s:property value="#n.lastEdit"/></td>
                 <td><s:property value="#n.infoType.type"/></td>  
                  </tr>
                </s:iterator>
    这是我dialog
    <div id="dialog-form" title="发布">
    <p class="validateTips"> </p>
    <form id="aform" name="formName" action="hr!update"   method="post">
    <fieldset>

                  <label for="name">标题</label>
                  <input id="title" class="text ui-widget-content ui-corner-all"/>
                 <label for="name">内容</label>
    <textarea  name="content" id="content" class="text ui-widget-content ui-corner-all" ></textarea>

    </fieldset>
    </form>
    </div>   怎么传啊,传this对象?然后一个节点一个节点的读值?
      

  3.   

    <s:iterator value="#infos" var="n">
                  <tr>
                   <td><input type="checkbox" name="infoId" value="<s:property value="#n.infoId"/>"/></td>                         
                    <td><s:property value="#n.hr.hrName"/></td>
                    <td><a href="#" title="title"><s:property value="#n.title"/></a></td>              
                    <td><s:property value="#n.content"/></td>
                    <td><s:property value="#n.issueTime"/></td>                          
                 <td><s:property value="#n.lastEdit"/></td>
                 <td><s:property value="#n.infoType.type"/></td>  
                  </tr>
                </s:iterator>给每个td里面赋值,然后把这段html代码添加到dialog html中,他就有对应的值
      

  4.   


    $(document).ready(function() {
        $("tr").click(function() {
            var cols = $(this).find("td");
            var data = new Object();
            data.name = cols[1].html();
            data.title = cols[2].find("a").html();
            // more...
            // TODO put values in dialog(.eg $(XXX).val(data.XXX))
        })
    });
      

  5.   

    既然在同一个页面上,哪有什么传值的问题?
    页面上的html就是一个个全局变量,想什么时候要就根据id/class/标签名/属性值 等等去取就行了,juqery强大的选择器可以保证你很方便地取到html中保存的值
    点击事件中用$(this)可以获取到被点击的元素的jquery对象,取值,然后想怎么用就怎么用