0

我需要在 JSF 页面中使用 Javascript 添加动态 html 元素。

<ui:define name="head">
    <script type="text/javascript" language="javascript">

        $().ready(function() {
            $(".avisoAlteracao").each(function() {
                $(this).attr("oldValue", $(this).val());
            });
        });

        function checkIfChange(jItem) {
            return jItem.attr("oldValue") != jItem.val();
        }

        function checkChanges() {
            var changed = false;
            $(".avisoAlteracao").each(function() {
                if (checkIfChange($(this)))
                    changed = true;
            });
            return changed;
        }

        function setChangedLabels() {
            var labels = '&lt;ul style="list-style-type: circle;" &gt;';
            $(".avisoAlteracao").each(function() {
                if (checkIfChange($(this))) {
                    label = $("label[for$='" + $(this).attr('id') + "']");
                    labels += "&lt;li&gt;" + label.text() + $(this).val();
                    labels += " -&gt; ";
                    labels += $(this).attr("oldValue") + "&lt;/li&gt;";
                }
            });
            labels += "&lt;/ul&gt;";
            $("#customMessage").html(labels);
        }

    </script>

</ui:define>

好的,这很容易,但这是我从谷歌浏览器得到的:

function setChangedLabels() {
            var labels = "<ul>&quot;;
            $(&quot;.avisoAlteracao&quot;).each(function() {
                if (checkIfChange($(this))) {
                    label = $(&quot;label[for$='&quot; + $(this).attr('id') + &quot;']&quot;);
                    labels += &quot;<li>&quot; + label.text() + $(this).val();
                    labels += &quot; -&gt; &quot;;
                    labels += +$(this).attr('oldValue') + &quot;</li>&quot;;
                }
            });
            labels += &quot;</ul>&quot;;
            $(&quot;#customMessage&quot;).append(labels);
        }

我不知道为什么它会改变我的“&quot;如果我投入&lt;&gt;工作”

我该如何处理?

4

1 回答 1

1

这是一个已知的 Mojarra 问题,报告为问题 2443,已在 2.1.13 中修复。目前已经是 2.1.17。看来是时候升级了。

也就是说,您应该更喜欢将 JS 代码放在.js文件中。

于 2013-01-24T17:28:13.503 回答