В вашем коде есть две проблемы. Во-первых, вы не предоставляете элементам input
, которые вы создаете, с любым атрибутом id
, поэтому ваш селектор не работает. Во-вторых, второй цикл повторяется по j
, а не по i
, поэтому последняя строка должна быть $(dateIdsHash[j]).datepicker();
. Tyr this:
var ul = document.getElementById("date-list");
var dateIds = ["datepicker1", "datepicker2", "datepicker3"];
var dateIdsHash = ["#datepicker1", "#datepicker2", "#datepicker3"];
var dateNumbers = ["1", "2", "3"];
var count = 0;
var dateNumbersCounted;
var dateIdsCounted;
function countButton() {
for (var i = 0; i < 3; i++) {
ul.innerHTML += "<li class='my-date'>Date " + dateNumbers[i] + " <input type='text' id='" + dateIdsHash[i].replace('#', '') + "'></li><br>";
};
var tags = document.getElementsByTagName("input");
for (var j = 0; j < tags.length; j++) {
tags[j].id = dateIds[j];
$.datepicker.setDefaults({
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd"
// any more global options from Datepicker Widget | jQuery UI API Documentation
})
$(dateIdsHash[j]).datepicker();
};
}
#date-list {
list-style: none;
<script type="text/javascript" src="//code.jquery.com/jquery-git.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.css">
<center>
<button onclick="countButton()">Count</button>
<ul id="date-list"></ul>
</center>
При этом, вы можете сделать эту логику гораздо более краткой, если вы использовать методы jQuery.
var $ul = $("#date-list");
var $countButton = $('#count').on('click', function() {
var li = (new Array(3)).fill('<li class="my-date">Date <input type="text" /></li>');
$ul.append(li);
$('.my-date input').datepicker();
});
#date-list {
list-style: none;
}
.my-date {
margin: 0 0 15px;
}
<script type="text/javascript" src="//code.jquery.com/jquery-git.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.css">
<center>
<button id="count">Count</button>
<ul id="date-list"></ul>
</center>
Ну, я могу поделиться историей:
Давным-давно, я работал на компанию, которая получила контракт на поддержании приложения, которое было в основном записано в Oracle SP. Я должен был переместить одного из тех, и оказывается, что я не понял бизнеса, таким образом, я переместил его, как.
Проблема состояла в том, что SP не сделал фиксации в конце, но возвратил некоторые данные, и перемещенный код Java был точно тем же. То, что сделал SP, должно было записать некоторые данные в таблицу, возвратить документ, который содержал некоторую платежную информацию, но платежная информация, никогда не была не писал в базу данных.
Что произошло, затем был то, что мы получили много платежей, но не знали, как коррелировать их с данными базы данных, таким образом, мы должны были сделать большое волшебство попытаться связать платежи.
Я предполагаю, что этот (больше информации) является, вероятно, самым дорогостоящим одиночным отказом (500 миллионов долларов США).
Я когда-то закрыл всю систему управления рисками CNA, потому что я не понял то, что индекс был на поле базы данных. CNA не утвердил новых Страховых полисов в течение приблизительно четырех часов потому что заземление системы к останову. Я не знаю, какова финансовая стоимость была, но мои менеджеры должны были участвовать в некоторых серьезных ремонтно-восстановительных работах.
Я никогда не буду снова игнорировать различие между сканированием таблицы, и индекс ищут.