2010-03-26 9 views
0

내가 가진 JSF 코드와 같은 :JSF에 자바 스크립트에서 요소를 얻는 방법 2.0

<h:inputText id="from" value="#{fromToMBean.fromName}"/> 

내가 ID (from)로 자바 스크립트에서이 요소를 좀하고 싶습니다,하지만, 수 없습니다 생성에 HTML 때문에 그것은이다 j_idt8:from

내가 어떻게이 요소를 얻을 수 있습니까? jQuery? JSF2에서 id를 변경하지 못하게 할 방법이 있습니까?

+0

가능한 중복 [jQuery를 사용하여 PrimeFaces UI 또는 JSF 구성 요소를 선택하는 방법?] (http://stackoverflow.com/questions/7927716/how-to-select-primefaces -ui-or-jsf-components-using-jquery) – BalusC

+0

[여기에서이 질문에 답변했습니다.] (http://stackoverflow.com/questions/6045307/how-can-i-know-the-id-of -a-jsf-component-so-i-can-in-javascript) – ftravers

답변

2

이 요소에만 지정하는 맞춤 클래스를 사용하고 CSS 선택기를 사용하거나 양식에 ID를 할당하고 ID가 formid:from 인 요소를 가져올 수 있습니다.

0

JSF 1.2에서는 forceId = "true"를 사용할 수 있습니다. JSF 2에서 t : input을 사용할 수 있는지는 잘 모르겠지만 그렇게 할 수 있어야합니다. 그러면 HTML의 ID가 예상 한 것입니다.

2

JSF2에서 ID를 변경하지 못하게 할 방법이 있습니까?

당신은 설정할 수 있습니다 prependId="false"j_idt8 대신에에서 될 것입니다 생성 된 HTML에서이 방법 :에서.

prependId :이 양식은 클라이언트 ID 생성 과정에서 그 하위의 ID에 의 ID를 앞에 추가해야하는지 여부를 나타내는 플래그입니다. 이 플래그가 설정되어 있지 않은 경우, 기본값은 true입니다.

어떻게하면이 요소를 얻을 수 있습니까? jQuery?

이 요소를 얻기 위해 jQuery를에 ancestorComponent:from를 사용할 수 있습니다. 사실 j_idt8j_idt8에서

는 :에서 자동 예를 들어 당신의 <h:inputText/>

의 조상 구성 요소의 ID를 생성

<h:form id="form"> 
<h:inputText id="from" value="#{fromToMBean.fromName}"/> 
</h:form> 

이제 입력 텍스트의 ID가 형태가 될 것이다 생성 :에서

브라우저에서 생성하는 것보다 구성 요소에 id를 제공하지 않은 경우 동적으로. 따라서 구성 요소에 ID를 제공하는 것을 잊지 마십시오.

0

jquery를 사용할 수 있습니다. 단순히 포함 할 텍스트를 정의하는 선택기를 사용하십시오. 이런 식으로 뭔가 :

$("input[name*='from']") 

'* ='이 이름 속성이 일부 문자열이 포함되어 있다고하는 데 사용됩니다. 또한 유사한 의미를 갖는 '~ ='이 있습니다.자세한 설명과 예를 들어

방문 http://api.jquery.com/attribute-contains-selector/

관련 문제