0

我有一个表,其中填充了依赖于前一页的值,这些值显然是用 struts 填充的

但是我对所有这些东西都不是很好,所以有一个简单的方法是我可以做这样的事情,要么只用 HTML,要么我可以在页面中放入一个小的 javascript?

<Table>
<TR>
<TH>ID</TH>
<TD><s:property value="groupID" /><TD> <--Number generated by the page with struts
</TR>
<TR>
<TH>ID Value</TH>
<TD>foobar</TD> <-- the text I want to add in dependant on the number from the previous TD
</TH>
</Table>

那么,有没有一种简单的方法可以做到这一点?HTML、CSS、JavaScript 解决方案可能吗?

4

2 回答 2

2

给定那个确切的 HTML,一个像这样的简单脚本就可以做到。但是,如果您不了解 JavaScript,则应该真正学习它,以便了解自己在做什么。

<body>
    <Table>
        <TR>
            <TH>ID</TH>
            <TD><s:property value="groupID" /><TD>
        </TR>
        <TR>
            <TH>ID Value</TH>
            <TD>foobar</TD>
        </TR>
    </Table>
       <!-- The script is here so it won't run until the TABLE has loaded -->
    <script type="text/javascript">

          // This is a map of the struts values to your values
        var valueMap = {
            "1": "foo",
            "2": "bar",
            "3": "baz"
        };
          // Browser compatibility. Older IE uses 'innerText' instead of 'textContent'
        var textContent = ('textContent' in document) ? 'textContent' : 'innerText';

          // Get all the TD elements on the page
        var tds = document.getElementsByTagName('td');

          // Get the text content of the first TD (index 0)
        var text = tds[0][textContent];

          // Get the value from the map using the text we fetched above
        var value = valueMap[text];

          // Set the text content of the second TD (index 1) to the mapped value
        tds[1][textContent] = value;
    </script>
</body>
于 2012-10-25T15:23:26.943 回答
1

假设您想将值“groupID”(设置在第一个 tr 的 td 中)放入第二行的 td 元素中,那么下面的 jQuery 就可以解决问题:

$(document).ready(function() {
    // Scrape the XML out of the TD containing the xml
    var tdXml = $('table tr').eq(0).find('td').html();
    // Grab the value of the value attribute (groupID)
    var value = $(tdXml).attr('value');
    // Set this value in the second row's TD
    $('table tr').eq(1).find('td').text(value);
}​);​

jsFiddle在这里

于 2012-10-25T15:55:51.907 回答