嗨,我想要一个文本框启用或禁用复选框状态的依赖
我有这段代码,但没有任何反应,我尝试过使用其他查找方法。
document.getElementById('j_idt6:docName')
和
('j_idt6:docName')
但不起作用。
这是我的全部代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title></title>
</h:head>
<h:body>
<script type="text/javascript"
src="http://code.jquery.com/jquery-git.js"></script>
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
$('#j_idt6\\:singleDoc').change( function() {
var isChecked = this.checked;
if(isChecked) {
$(this).parents("tr:eq(0)").find('#j_idt6\\:docName').prop("disabled",true);
} else {
$(this).parents("tr:eq(0)").find('#j_idt6\\:docName').prop("disabled",false);
}
});
});//]]>
</script>
<h:form>
<p:panel id="panel" header="Test">
<h:panelGrid columns="1" cellpadding="5">
<p:outputLabel for="singleDoc" id="msgSingleDoc"
value="Is a single document." />
<p:selectBooleanCheckbox id="singleDoc" />
<p:outputLabel for="docName" value="Name of the document" />
<p:inputText id="docName" required="false" />
</h:panelGrid>
</p:panel>
</h:form>
</h:body>
</html>
我在这里找到了另一种查找元素的方法http://www.mkyong.com/jsf2/primefaces/how-to-get-jsf-id-via-jquery/
我正在使用 Primefaces 5
但仍然没有任何反应
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>ORC Sysmar</title>
<script type="text/javascript"
src="http://code.jquery.com/jquery-git.js"></script>
</h:head>
<h:body>
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
$(PrimeFaces.escapeClientId('formulario:singleDoc')).change( function() {
var isChecked = this.checked;
if(isChecked) {
$(this).parents("tr:eq(0)").find(PrimeFaces.escapeClientId('formulario:docName')).prop("disabled",true);
} else {
$(this).parents("tr:eq(0)").find(PrimeFaces.escapeClientId('formulario:docName')).prop("disabled",false);
}
});
});//]]>
</script>
<h:form id="formulario">
<p:panel id="panel" header="Test">
<h:panelGrid columns="1" cellpadding="5">
<p:outputLabel for="singleDoc" id="msgSingleDoc"
value="Is a single document." />
<p:selectBooleanCheckbox id="singleDoc" />
<p:outputLabel for="docName" value="Name of the document" />
<p:inputText id="docName" required="false" />
</h:panelGrid>
</p:panel>
</h:form>
</h:body>
</html>
提前感谢您的时间和答案