JQuery, уникальный идентификатор - PullRequest
2 голосов
/ 10 января 2020

У меня есть форма с двумя полями ввода даты.

Я хотел бы использовать DatePicker. Чтобы получить всплывающий календарь для каждого поля, мне нужно использовать уникальный идентификатор.

Как создать уникальный идентификатор, но в то же время обратиться к одному (1) «DatePicker» JQuery функция?

Я пробовал:

$( "#datepicker" ).datepicker();

с

id="1datepicker"
id="2datepicker"

и

$( "#.datepicker" ).datepicker();

с

id="1.datepicker"
id="2.datepicker"

Ниже приведен код

$( function() {
    $( "#datepicker" ).datepicker();
    $( "#.datepicker" ).datepicker();
  } 
  );
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Datepicker - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

</head>
<body>
 
<p>Date: <input type="text" id="datepicker"></p>
<p>Date: <input type="text" id="datepicker"></p>

<p>Date: <input type="text" id="1datepicker"></p>
<p>Date: <input type="text" id="2datepicker"></p>

<p>Date: <input type="text" id="1.datepicker"></p>
<p>Date: <input type="text" id="2.datepicker"></p>
 
 
</body>
</html>

Ответы [ 3 ]

3 голосов
/ 10 января 2020

Вместо использования идентификаторов вы можете использовать класс для выбора вашего элемента в Jquery. Каждый из ваших указателей даты будет по-прежнему иметь уникальные идентификаторы, но jquery выберет оба.

Кроме того, ваши идентификаторы не могут начинаться с цифры. см. Здесь

$( function() {
    $( ".picker" ).datepicker();
});
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Datepicker - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

</head>
<body>
<p>Date: <input type="text" id="datepicker1" class="picker"></p>
<p>Date: <input type="text" id="datepicker2" class="picker"></p>
 
</body>
</html>
2 голосов
/ 10 января 2020

Лучше всего использовать класс, когда нам нужно выполнить одно и то же действие для группы элементов DOM. У нас все еще могут быть идентификаторы для указателей даты, когда мы хотим установить / получить значения.

$(document).ready( function() { //This will fire only after DOM is ready
    $( ".datepicker" ).datepicker();
  } 
);
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Datepicker - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

</head>
<body>
 
<p>Date: <input type="text" class="datepicker" id="datepicker"></p>
<p>Date: <input type="text" class="datepicker" id="datepicker1"></p>

<p>Date: <input type="text" class="datepicker" id="datepicker2"></p>
<p>Date: <input type="text" class="datepicker" id="datepicker3"></p>

<p>Date: <input type="text" class="datepicker" id="datepicker4"></p>
<p>Date: <input type="text" class="datepicker" id="datepicker5"></p>
 
 
</body>
</html>
1 голос
/ 10 января 2020

Просто используйте специальный класс css вместо идентификатора. Таким образом, все поля ввода DatePicker могут (и должны!) Иметь разные идентификаторы, и ваш скрипт может вызывать их по имени класса.

Пожалуйста, имейте в виду, что идентификаторы и классы не могут начинаться с цифры!

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