日期:2014-05-16  浏览次数:20386 次

JSP怎么将作用域的数据传给Jquery的dialog窗口
JSP页面上查出多条数据,如何点击一条数据,然后将该数据的所有值都传给即将显示的dialog窗口(用来修改该条数据),并将值都显示在该窗口上对应的文本框内。
JSP的数据来自action的request作用域。

我只知道这dialog是页面加载时就有的,不知道怎么动态的给他传作用域里的值。
------解决方案--------------------
在点击事件里面获取点击的数据,

然后获取dialog里面的html内容,把得到的数据 分配给 html 对应 的 文本框的value。
------解决方案--------------------


<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中,他就有对应的值





------解决方案--------------------

$(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))
    })
});

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