之前我问过this问题:但我需要在jsf中使用它。我在我的应用程序中使用primefaces库。我的代码在这里:
Jsf: <h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />
<script type="text/javascript">
$ = jQuery; $(document).ready(function() {
$("p:inpuText").each(function () {
comp(this);
});
$("[required='true']").blur(function () {
comp(this);
});
$("[required='true']").keyup(function () {
comp(this);
});
$("[required='true']").click(function () {
comp(this);
});
function comp(a) {
if ($(a).val() != "")
$(a).css({
"border": "1px solid #ccc !important",
"background": "#FFF"
});
else $(a).css({
"border": "1px solid #FF0000 !important",
"background": "#FFEFFF"
});
}
});
我想设置css清空必填字段。
答案 0 :(得分:2)
你犯了一个概念性思维错误。 JS / jQuery不能在JSF代码上运行。相反,它运行在JSF生成的HTML代码上。在浏览器中打开JSF页面,右键单击查看源。你看到了吗?它是一个和所有HTML代码。那里没有<p:inputText>
个元素,只有<input>
个元素。没有人<input>
元素设置required="true"
。
给他们,例如而是一个特定的样式类:
<p:inputText ... required="true" styleClass="required" />
这样它就会生成以下HTML:
<input ... class="required" />
这样你就可以通过例如:./ / p>在jQuery中选择它们
$(":input.required")
自定义渲染器或标记文件应该不再需要每次都记下样式类。