Dre*_*w H 5 javascript composite-component java-ee-6 jsf-2
大家好.我正在为名为flot的javascript图表库创建一个组件.
<cc:interface>
<cc:attribute name="data" required="true" />
</cc:interface>
<cc:implementation>
<div id="placeholder" style="width:600px;height:300px;"></div>
<script type="text/javascript">
//<![CDATA[
$(function () {
var d1 = [#{cc.attrs.data}];
$.plot($("#placeholder"), [ d1 ]);
});
//]]>
</script>
</cc:implementation>
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止的少量代码.我遇到的问题是如何在页面上随机生成div标签,以便我可以输出多个图表.显然,在目前的状态下它不会那样做.我需要将值传递给javascript函数.
我知道我可以创建另一个需要id的属性,用户必须指定id,但我注意到很多组件都不需要id.似乎在重要的ajax/javascript库中,如primefaces和icefaces,这些id是随机的.
谢谢你的帮助.
您可以通过获取复合组件自己的ID #{cc.id}
.所以为了确保唯一性,只需:
<div id="#{cc.id}_placeholder" style="width:600px;height:300px;"></div>
Run Code Online (Sandbox Code Playgroud)
和
$.plot($("##{cc.id}_placeholder"), [ d1 ]);
Run Code Online (Sandbox Code Playgroud)
如果您未id
在组件上指定任何属性,JSF将自动生成一个.例如
<my:plot id="foo">
Run Code Online (Sandbox Code Playgroud)
这foo
将#{cc.id}
在复合组件实现中使用.
归档时间: |
|
查看次数: |
3640 次 |
最近记录: |