我如何表示
document.getElementById('page1:form2:amount')
我知道我可以使用
$('#amount')
访问ID金额。
id量是<apex:inputText/>
类型,它是在Visualforce页面中表示输入文本的方式。要访问此ID,我需要使用page-&gt; form-&gt; id。
由于
Prady
更新:Visualforce页面中使用的代码。
<apex:page controller="acontroller" id="page1">
<apex:form id="form2">
<apex:inputText value="{!amt}" id="amount" onchange="calenddate();"/>
</apex:form>
</apex:page>
答案 0 :(得分:2)
我知道它有点晚了,但另一种方法是使用jQuery属性以选择器结束(http://api.jquery.com/attribute-ends-with-selector/).
您知道放在顶点代码中的ID始终是生成的ID中的最后一个。所以你可以做jQuery('[id$="amount"]')
。
这样做是选择id属性的以amount结尾的部分(你需要确定没有其他字段以这种方式结束)。
过去这对我来说非常合适。
答案 1 :(得分:1)
你可以做的是获取表单实例并找到所有输入类型文本(不是必需的)并从实例中获取id属性
<form id="myform">
<input type="text" value="hello1" id="1">
<input type="text" value="hello2" id="2">
<input type="text" value="hello3" id="3">
<input type="text" value="hello4" id="4">
</form>
$('#myform > input[type="text"]').each(function(key,value){
$(value).attr('id');
})
并且从服务器端代码开始,无论如何它将在客户端转换为标准HTML格式,javascript将仅读取最终的HTML标记。所以去源代码,找到究竟什么是替换,然后在jQuery函数中使用该标记进行搜索
答案 2 :(得分:1)
你可以传递选择器,就好像你用CSS编写它们一样。
$('#page1 #form2 #amount').doSomething(...)
由于jQ中的选择器从右到左工作,它意味着:找到id为#amount的元素,其父元素为id#form2,并确保它们具有父#page1,然后才能执行某些操作。
更多关于jQ选择器@ api.jquery.com