Jquery&;JSF查找<;的特定id;h:inputText/>;

Jquery&;JSF查找<;的特定id;h:inputText/>;,jquery,jsf,Jquery,Jsf,我希望使用Jquery在JSF中为inputText匹配id。但它不起作用,我也不知道为什么 JSF代码 <h:inputText id="email" value="#{userActionManager.newUser.emailID}"> </h:inputText> 我需要inputText[id^=email]来访问JSF代码中使用的inputText id。 请帮忙 页面上的第一个Id应该是唯一的 接下来从选择器中删除inputText标记(它不是有效的jQ

我希望使用Jquery在JSF中为inputText匹配id。但它不起作用,我也不知道为什么

JSF代码

<h:inputText id="email" value="#{userActionManager.newUser.emailID}">
</h:inputText>
我需要inputText[id^=email]来访问JSF代码中使用的inputText id。
请帮忙

页面上的第一个Id应该是唯一的

接下来从选择器中删除
inputText标记(
它不是有效的jQuery元素选择器

您还可以将类“电子邮件”添加到inputText并使用类选择器:

$(".email").each(function(){

正如Sushanth提到的,您不能在jQuery中使用
inputText
作为选择器。您必须改用
输入

jQuery("input[type='text'][id^=email]:visible").each(...
要检查的另一点是生成的客户端ID

事实上,如果表单中未指定
prependId=“false”
,则表单ID将添加到
inputText
ID中,例如:如果表单具有
ID=“formId”
,则为输入文本生成的ID通常为:
formId:email
。您必须使用Chrome或Firebug检查ID才能确定。

我已经有一段时间没有使用JSF了,但是inputText没有扩展到常规的
输入标记吗?因此,您应该在生成的HTML上使用jQuery,而不是在模板组件上使用jQuery。一直盯着它看,直到你最终意识到JSF只是一个HTML代码生成器,JavaScript根本看不到JSF组件,只看到HTML元素。需要更改
@user2446821,需要更改
@Daniel。。我不知道。。谢谢你的信息。
$(".email").each(function(){
jQuery("input[type='text'][id^=email]:visible").each(...