Как я могу представить document.getElementById ('page1: form2: amount') в jquery? - PullRequest
1 голос
/ 11 февраля 2011

Как я могу представить

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

в jQuery

Я знаю, что могу использовать

$('#amount')

для доступа к идентификатору.Количество идентификаторов - это тип <apex:inputText/>, который представляет собой вводимый текст на странице Visualforce.Чтобы получить доступ к этому идентификатору, мне нужно использовать иерархию page-> form-> 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>

Ответы [ 3 ]

2 голосов
/ 03 июня 2011

Я знаю, что немного поздно, но другой способ сделать это - атрибут jQuery заканчивается селектором (http://api.jquery.com/attribute-ends-with-selector/).

. Вы знаете, что идентификатор, который вы указали в коде апекса, всегда последнийна сгенерированном идентификаторе. Таким образом, вы можете сделать jQuery('[id$="amount"]').

. Для этого выберите часть атрибута id, которая заканчивается значением количества (вы должны быть уверены, что нет других полей, заканчивающихся таким образом).

В прошлом это прекрасно сработало.

1 голос
/ 11 февраля 2011

вы можете передавать селекторы, как если бы вы писали их с помощью CSS.

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

Поскольку селекторы в jQ работают справа налево, это будет означать: найти элемент с идентификатором #amount, у которого есть родитель с идентификатором# form2 и убедитесь, что у них есть родительский # page1, и только потом что-то сделайте.

подробнее о селекторах jQ @ api.jquery.com

1 голос
/ 11 февраля 2011

что вы можете сделать, это получить экземпляр формы и найти весь текст ввода типа (не обязательно) и получить атрибут 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...