Передача динамического идентификатора функции - PullRequest
0 голосов
/ 10 октября 2019

Я создаю динамические текстовые поля с динамическим идентификатором. Теперь я хочу изменить динамические текстовые поля на выпадающий список выбора времени. Я изменил свой сценарий, но получаю сообщение об ошибке, так как идентификатор не определен. Вот мой код:

<div>
            <input class="btn btn-info" onclick="addtextbox()" type="button" value="Add">
        </div>
<script>
        var count = 0;
        function addtextbox() {
            count++;
            var newTextBoxDiv = document.createElement('div');
            newTextBoxDiv.id = 'Tools';
            document.getElementById("ToolsGroup").appendChild(newTextBoxDiv);

            newTextBoxDiv.innerHTML = '<form class="form-inline"><div class="form-group"><label class="col-md-4 control-label" for="starttime">Starttime</label><div class="col-md-4"><input type="startime" class="form-control input-md" id="starttime' + count + '" placeholder="starttime" required=""> </div></div>' +
                '<div class="form-group"><label class="col-md-4 control-label" for="endtime">Endtime</label><div class="col-md-4"><input type="endtime" class="form-control input-md" id="endtime' + count + '" placeholder="endtime" required="" onclick="timePicker()"></div></div></form>' +
                '&nbsp;&nbsp;<input type="button" value="Remove" class="removeTools" onclick="removeTextArea(this);">'
            console.log("Iam count", count);
        };

        function removeTextArea(inputElement) {
            var el = inputElement;
            while (el.tagName != 'DIV') el = el.parentElement;
            el.parentElement.removeChild(el);
            count--;
        }

    </script>

Мой скрипт выбора времени -

<script>
        $(document).ready(function () {
            $('#starttime'+count).timepicker({
                timeFormat: 'HH:mm',
                interval: 30,
                use24hours: true,
                scrollbar: true,
            });
        });
    </script>

, что мне нужно здесь, когда я нажимаю кнопку добавления, то создаются два текстовых поля и когдая нажимаю на текстовое поле, оно должно отображать время с интервалом 30 минут в формате 24 часа

1 Ответ

0 голосов
/ 10 октября 2019

Потому что, когда страница завершает загрузку, my time picker script запускается и переменная count = 0 => отображает функцию timepicker для id=starttime0 и не имеет никакого documentId с именем starttime0 Когда вы нажимаете кнопку добавления, функция my time picker script нетогда повторное рендеринг не имеет действия создать функцию timepicker для id=starttime1,2,3....

...