我希望使用Jquery在JSF中匹配 id inputText 。但它不起作用,我不知道为什么。
JSF CODE
<h:inputText id="email" value="#{userActionManager.newUser.emailID}">
</h:inputText>
$(document).ready(function() {
$("inputText[id^=email]").each(function(){
this.value = $(this).attr('title');
$(this).addClass('text-label');
$(this).focus(function(){
if(this.value == $(this).attr('title')) {
this.value = " ";
$(this).removeClass('text-label');
}
});
$(this).blur(function(){
if(this.value == '') {
this.value = $(this).attr('title');
$(this).addClass('text-label');
}
});
});
});
我需要inputText [id ^ = email]来访问JSF代码中使用的inputText id。 请帮忙......
答案 0 :(得分:4)
首先,页面上的ID应该是唯一的。
接下来从选择器(inputText tag
)
It is not a valid jQuery element selector
$("[id^=email]").each(function(){
您还可以将类“email”添加到inputText并使用类选择器:
$(".email").each(function(){
答案 1 :(得分:1)
正如Sushanth所说,你不能在jQuery中使用inputText
作为选择器。您必须改为使用input
:
jQuery("input[type='text'][id^=email]:visible").each(...
要检查的另一点是生成的客户ID
实际上,如果您在表单中没有指定prependId="false"
,那么表单ID将添加到inputText
ID,例如:如果表单有id="formId"
则表示您输入的生成的ID文字通常是:formId:email
。您必须使用Chrome或Firebug检查ID才能确定。