내 JSF보기에서 p:selectOneRadio을 사용하고 있습니다. 이제 클라이언트 측에서이 구성 요소의 값을 부작용으로 변경해야합니다. 이 구성 요소의 클라이언트 측 API에서 나는 내가 그것을 사용하는 방법을 적절한 방법 찾으면 내가이 사용할 수 있다고 생각 다음 발견 : (JS에 대한 많은 지식을하지 않고) 나에게Client Side API에서 p : selectOneRadio의 값을 설정하는 방법은 무엇입니까?
PrimeFaces.widget.SelectOneRadio=PrimeFaces.widget.BaseWidget.extend(
{
// ...
select:function(a){
this.checkedRadio=a;
a.addClass("ui-state-active")
.children(".ui-radiobutton-icon")
.addClass("ui-icon-bullet").removeClass("ui-icon-blank");
a.prev().children(":radio").prop("checked",true)}
});
그것을 선택하고 싶은 라디오 버튼의 인스턴스와 비슷한 것을 전달해야하는 것처럼 보입니다. 나는 여러 가지 방법이 시도했지만, 그들 중 누구도 작동하지 않습니다 :
<p:selectOneRadio widgetVar="sel" id="id-sel" >
<f:selectItem itemValue="#{false}" itemLabel="n/a" />
<f:selectItem itemValue="#{true}" itemLabel="date" />
</p:selectOneRadio>
<p:commandButton onclick="PF('sel').select(sel.inputs[1]);"/>
<p:commandButton onclick="PF('sel').select(PF('sel').inputs[1]);"/>
<p:commandButton onclick="PF('sel').select($('input:radio[id*=id-sel\\:1]'));"/>
<p:commandButton
onclick="PF('sel').select(document.getElementById('menuform:id-sel:1'));"/>
그러나 나는 또한 값을 전달 및/또는 직접 레이블을 시도했다 (이 selectOneMenu에 대한 예를 들어, 작동). 다시 성공하지 못했습니다 (이 경우 놀랄 일은 아닙니다)
<p:commandButton onclick="PF('sel').select('date');"/>
<p:commandButton onclick="PF('sel').select('true');"/>
<p:commandButton onclick="PF('sel').select(1);"/>
<p:commandButton onclick="PF('sel').select(true);"/>
<p:commandButton onclick="PF('sel').select(#{true});"/>
아무도 모릅니다.
tyvm, 지금은 작동했습니다! 적절한 예에서 빠져 나오면 PF ('sel') 여야합니다 .jq.find ('input : radio [value = false]') parent(). next(). trigger ('click.selectOneRadio'); ' – stg
그리고이 도움으로 이제 클라이언트 측 API에서 위젯을 확장하여 좀 더 편한 사용법을 느낄 수 있다고 생각합니다. – stg
듣고 있으면 다행입니다 :) –