jquery append.I を使用してテーブルに struts タグを追加するにはどうすればよいですか。アクションでリストを定義し、これをタグのリストとして使用しています。
$("tableid").append(
"<tr><td><s:select name='test' id='test' list='listfromAction'/></td></tr>");
しかし、それは機能していません。ここで何が欠けているか教えてください。
"
不適切に使用しているため、上記のコードは機能しません。
を使用して開始した場合、それらをエスケープせずに、または代わりにを使用して、append("
再度使用することはできません。"
apostrophes
$("tableid").append("<tr><td><s:select name='test' id='test' list='listfrmoAction'/></td></tr>");
これは正しく機能します。jsFiddleの動作を参照してください。
(注:便宜上、自己囲みタグは使用しませんでした。機能しますが、削除してテストし、確認することができます。)
私は同じ問題に直面しています。上記の答えは正しく機能しません。タグは適切な html タグに変換されますが、ブラウザ (クロム) で解析の問題が発生します。ただし、解析された html コードを取得して、すべてを 1 行に入れるとします。それは完全に機能します。したがって、問題は、私によると、解析された 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 タグではなく、struts によって出力される HTML を生成する必要があります。