我们如何使用 jquery append 将 struts 标签添加到表中。我在我的操作中定义了一个列表,并将其用作标签的列表。我尝试过
$("tableid").append(
"<tr><td><s:select name='test' id='test' list='listfromAction'/></td></tr>");
但它不起作用谁能告诉我这里缺少什么;
上面的代码不起作用,因为您使用"
不当。
如果您使用append("
to 开始,那么您不能在"
不转义它们的情况下再次使用,或者改为使用apostrophes
.
$("tableid").append("<tr><td><s:select name='test' id='test' list='listfrmoAction'/></td></tr>");
这将正常工作。查看jsFiddle 的实际应用。
(注意:我没有使用自封闭标签,只是为了方便。虽然它们确实有效,但您可以删除并测试并查看。)
我面临同样的问题。上面的答案不能正常工作。标签被转换为正确的 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>
对不起,但这个问题对我来说没有意义。
jQuery(和所有 JavaScript)在 HTML 生成之后运行。创建 strugs 标签会创建一些不会被 struts 解析的东西。
您需要生成由 struts 输出的 HTML,而不是 struts 标签