我们如何使用jquery append将struts标签添加到表中。我在我的操作中定义了一个列表,并将其用作tag的列表。我试过
$("tableid").append(
"<tr><td><s:select name='test' id='test' list='listfromAction'/></td></tr>");
但是没有用,任何人都可以告诉我这里缺少什么;
答案 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>