0

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

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

但它不起作用谁能告诉我这里缺少什么;

4

3 回答 3

1

上面的代码不起作用,因为您使用"不当。

如果您使用append("to 开始,那么您不能在"不转义它们的情况下再次使用,或者改为使用apostrophes.

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

这将正常工作。查看jsFiddle 的实际应用

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

于 2012-05-31T06:03:45.110 回答
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>

于 2014-06-12T07:17:16.410 回答
0

对不起,但这个问题对我来说没有意义。

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

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

于 2012-06-02T00:30:50.690 回答