У меня проблема с использованием widgetVar, пока его имя генерируется динамически. Как правильно мы можем назвать такой виджет? Код компонента:Композитный компонент jsf * primefaces
<cc:attribute name="id" required="true" type="java.lang.String" />
...
<cc:implementation>
<p:selectOneRadio widgetVar="widgetVariable#{cc.attrs.id}" id="#{cc.attrs.id}" required="false" immediate="#{cc.attrs.immediate}"
value="#{cc.attrs.value}">
<p:ajax event="click" oncomplete="checkRadio()"/>
<cc:insertChildren/>
</p:selectOneRadio>
<script type="text/javascript">
/* <![CDATA[ */
function checkRadio() {
var widgetVariable = widgetVariable#{cc.attrs.id}; //HERE PROBLEM
widgetVariable.dosmth();
}
/* ]]> */
</script>
</cc:implementation>
вот что вирд, что это работает, но когда я использую много istance этого компонента на странице widgetwar иногда сойти с умом и сделать JavaScript для многих istance компоненты.
Редактировать: все работает нормально. В любом случае у меня есть одна новая проблема. Я создал в этом .js файле некоторую глобальную переменную состояния.
var state = -1;
function checkRadio() {
var widgetVariable = widgetVariable#{cc.attrs.id}; //HERE PROBLEM
widgetVariable.dosmth(state);
}
Но каждое состояние должно быть только для одного составного значения, atm каждый композитный использует этот var, некоторые идеи?
Как работает 'id' выглядеть? Какие символы он содержит? – user1983983
любой, некоторые буквы/цифры «myCompoennt» «something2» и т. Д. – user2771738
Значит, никаких специальных символов, только буквенно-цифровых символов? – user1983983