1

我怎么能代表

document.getElementById('page1:form2:amount')

在 jQuery 中

我知道我可以使用

$('#amount')

访问 id 金额。id 数量是一种<apex:inputText/>类型,它是输入文本在 Visualforce 页面中的表示方式。要访问这个 id,我需要使用 page->form->id 的层次结构。

谢谢

普拉迪

更新:Visualforce 页面中使用的代码。

<apex:page controller="acontroller" id="page1">
  <apex:form id="form2">
    <apex:inputText value="{!amt}" id="amount" onchange="calenddate();"/>
  </apex:form>
</apex:page>
4

3 回答 3

2

我知道这有点晚了,但另一种方法是使用 jQuery 属性以选择器结尾(http://api.jquery.com/attribute-ends-with-selector/)。

您知道,您在 apex 代码中输入的 id 始终是生成的 id 上的最后一个。所以你可以做到jQuery('[id$="amount"]')

这样做是选择以金额结尾的 id 属性部分(您需要确定没有其他字段以这种方式结尾)。

这在过去对我来说非常有效。

于 2011-06-03T18:24:33.543 回答
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 函数中进行搜索

于 2011-02-11T07:20:39.353 回答
1

你可以传递选择器,就好像你会用 CSS 编写它们一样。

$('#page1 #form2 #amount').doSomething(...)

由于 jQ 中的选择器从右到左工作,这意味着:找到 ID 为 #amount 的元素,其父 ID 为 #form2,并确保它们有一个父 #page1,然后才执行某些操作。

更多关于 jQ 选择器@ api.jquery.com

于 2011-02-11T07:41:39.120 回答