Добавление функции jquery для формирования входов с точками в их идентификаторе - PullRequest
0 голосов
/ 16 августа 2011

Я использую функцию datepick (), чтобы добавить календарь к датам ввода. Это работает нормально, если идентификатор входа не назван точкой. Мне нужна точка, так как это очень динамичная форма, и я никогда не узнаю количество sessionStartDate (s) в форме.

Что мне не хватает?

function addDatePick(){
$('#evntSes1.sessionStartDate').datepick();
$('#evntSes2.sessionStartDate').datepick();  
}
<select id="evntSes1.sessionTypeID" name="evntSes1.sessionTypeID">
<select id="evntSes2.sessionTypeID" name="evntSes2.sessionTypeID">

Спасибо за любые предложения

Ответы [ 3 ]

2 голосов
/ 16 августа 2011

используйте две обратные косые черты перед точкой:

function addDatePick(){
$('#evntSes1\\.sessionStartDate').datepick();
$('#evntSes2\\.sessionStartDate').datepick();  
}
<select id="evntSes1.sessionTypeID" name="evntSes1.sessionTypeID">
<select id="evntSes2.sessionTypeID" name="evntSes2.sessionTypeID">
0 голосов
/ 16 августа 2011

. - это специальный символ в jQuery для выбора классов. В вашем случае он ищет элемент с идентификатором evntSes1 и классом sessionStartDate.

Чтобы jQuery распознал . как часть идентификатора, вам нужно экранировать его с одной обратной косой чертой прямо перед точкой. См. официальную документацию по селекторам для получения дополнительной информации.

Для завершения есть и другие персонажи, которым нужно убежать. Это !"#$%&'()*+,./:;<=>?@[]^`{|}~.

Чтобы ваш пример послужил примером, вы должны уйти так:

$('#evntSes1\\.sessionStartDate')

Обратите внимание, что вам нужно ввести 2 обратных слеша, так как они необходимы для экранирования обратного слеша в строке JavaScript. jQuery получит селектор, который выглядит как #evntSes1\.sessionStartDate из примера.

0 голосов
/ 16 августа 2011

потому что точечный синтаксис используется для классов. С вашим синтаксисом он будет искать div с идентификатором "eventSes1", который имеет класс "sessionStartDate".

То, что вы можете сделать, это в вашем генераторе форм / html, использовать sessionStartDate в качестве класса, вместо добавления его к идентификатору с точкой. Если вы ленивы и не хотите менять свой «подсчитывающий» алгоритм для своей формы, просто измените точку на - или что-то

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