我的visualforce页面中有一个自定义组件,它需要一个属性:
<c:myCustomComponent id="myCC" attr='Some value'></c:myCustomComponent>
我想从javascript动态更改属性值。
我尝试getElementById('myCC').setAttribute('other value')
,但它似乎不起作用,并且DOM没有自定义组件ID的引用。
答案 0 :(得分:0)
您应该使用文档 .getElementById('myCC')。setAttribute('value','其他值');
并且不使用属性'attr'。
检查这个jsfiddle:
答案 1 :(得分:0)
您必须首先定义您的值属性,然后您可以通过javascript访问和更改它。
e.g。 :
组件定义
<apex:attribute name="myValue" description="This is the value for the component." type="String" required="true"/>
通过 visualforce
访问价值<c:myComponent myValue="Some value" id="myCC"/>
通过 javascript
访问和更改document.getElementById('myCC').value ='other value' ;
中的完整示例
答案 2 :(得分:0)
您无法使用您输入的ID直接使用javascript访问visualforce元素,因为生成的dom元素的真实ID看起来不同。 我使用jquery,这很容易:
<c:MyComponent id="myCC" />
<script>
jQuery("[id$=myCC]").hide();
</script>