我有一个简单的复合组件,它以某种形式嵌套。我想为这个复合组件的click
中的所有单选按钮绑定<h:selectOneRadio>
事件。我试图通过name
之后创建的输入<h:selectOneRadio id>
属性来绑定此事件。不幸的是它是嵌套的,所以这段代码不起作用,因为生成的单选按钮ID如下:
"form:someid:someid:someid etc ect."
复合组件代码:
<cc:implementation>
<..some forms etc.>
<h:selectOneRadio id="#{cc.attrs.id}" value="#{cc.attrs.value}">
<cc:insertChildren/>
</h:selectOneRadio>
</..some forms etc.>
<script type="text/javascript">
/* <![CDATA[ */
$('input[name=#{cc.attrs.id}]').click(function() {
console.log("click");
});
/* ]]> */
</script>
</cc:implementation>
客户代码:
<mycomps:radio id="testID" ... >
<f:selectItem itemLabel="test" itemValue="false"/>
<f:selectItem itemLabel="test2" itemValue="true"/>
</mycomps:radio>