带有动态标题的网页

时间:2008-11-04 16:02:26

标签: xml xslt header

我有一个包含动态列表的网页。我希望标题可配置。首先将标题命名为column1column2,... columnnN。单击这些标题中的任何一个,我打开一个DHTML模式窗口,在其中从预定义列表中选择标题名称,以便我可以将此标题名称分配给所选列。所以我从我的模态窗口返回一个唯一的ID到我的父窗体。现在我想将标题更改为选定的标题。

我的XML:

<ROOT>
    <Header><Item>Column 1</Item></Header>
    <Header><Item>Column 2</Item></Header>

    <ROW>
        <COlUMN>Zamora</COlUMN>
        <COlUMN> Ruby E.</COlUMN>
    </ROW>
    <ROW>
        <COlUMN>Hatfield</COlUMN>
        <COlUMN> Hanae B.</COlUMN>
    </ROW>
</ROOT>

以下是我在代码隐藏中生成XML的方法:

oXMLString.Append(Chr(13) & "<Header>")
oXMLString.Append(Chr(13) & "<Item>Column " & j + 1 & "</Item>")
oXMLString.Append(Chr(13) & "</Header>")

这是标题的xslt:

<tr class="thead">
    <xsl:for-each select="Header/Item">        
        <td class="rowHead" style="vertical-align:bottom;">
            <a href="#">
                <xsl:attribute name="id">
                    <xsl:value-of select="@id"/>
                </xsl:attribute>
                <xsl:attribute name="onclick">
                    <xsl:text>showPopWin('UploadFile_Step4_Modal.aspx',500,500,returnFieldID);</xsl:text>
                </xsl:attribute>
                <xsl:value-of select="." />
            </a>
        </td>
    </xsl:for-each>
</tr>

生成列表后,列标题为column1column2,其中n = 2

在xslt中,onclick事件打开一个模态窗口,为列标题返回fieldID

现在假设我单击column1并且模态窗口返回数据库中预定义的fieldid="1",如何更改列标题 column1FirstnameFieldid=1Firstname

1 个答案:

答案 0 :(得分:0)

您不需要xslt来解决您的问题。您只需要一些JavaScript。以下是jQuery中的示例代码:

$('td.rowHead a').click(function(){
    var fieldId, fieldName;
    fieldId = // get field id from the popup
    fieldName = // get field name (e.g. via AJAX)
    this.innerHTML = fieldName;
});