使用jquery </s:<>将<s:select>附加到表行

时间:2012-05-31 05:01:28

标签: jquery struts2

我们如何使用jquery append将struts标签添加到表中。我在我的操作中定义了一个列表,并将其用作tag的列表。我试过

$("tableid").append(
"<tr><td><s:select name='test' id='test'  list='listfromAction'/></td></tr>");

但是没有用,任何人都可以告诉我这里缺少什么;

3 个答案:

答案 0 :(得分:1)

上述代码无效,因为您使用"不正确。

如果您使用append("开始,则无法再使用"而无需转义它们,或者使用apostrophes

$("tableid").append("<tr><td><s:select name='test' id='test' list='listfrmoAction'/></td></tr>");

这将正常工作。请参阅jsFiddle in action

(注意:我没有使用自封闭标签,只是为了方便起见。虽然它们确实有效,但您可以删除并测试并查看。)

答案 1 :(得分:0)

很抱歉,这个问题对我来说没有意义。

jQuery(以及所有JavaScript)在生成HTML之后运行。创建一个strugs标签会创建一些不会被struts解析的东西。

您需要生成struts输出的HTML,而不是struts标记

答案 2 :(得分:0)

我面临同样的问题。上述答案无法正常运作。标签被转换为正确的html标签,但浏览器(chrome)提供了解析问题。但是,如果您使用已解析的html代码并将其全部放在一行中。它完美地运作。所以问题是,根据我的说法,解析后的html代码有很多行。

要解决这个问题..我正在做的是......你使用struts标签在jsp中创建一个示例行,使用jquery再次追加这一行。像这样

var tbody = document.getElementById("interfaceMessagesTable") .getElementsByTagName('tbody')[0]; tbody.append($("#onerow"));

我的桌子就像这样 <table id="interfaceMessagesTable" width="100%"> <tbody id="tableBody" valign="top"> <tr> <td> <s:select ..../> </td> </tr> </tbody> </table>