нажав кнопку копирования, javascript id просто скопируйте первые данные из базы данных, и я не могу скопировать другие данные - PullRequest
0 голосов
/ 30 марта 2020

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

{% for twenty in twenty %}

    <li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown1" role="button"
                       data-toggle="dropdown"
                       aria-haspopup="true" aria-expanded="false">
                        {{ twenty.name }}
                    </a>
                    <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                    <div class="copy">
                        <div class="row">
                            <div class="col-md-8">
                                <input type="text" value="{{ twenty.detail }}" id="myInput1">
                            </div>
                            <div class="col-md-4">
                                <button onclick="myFunction1()">Copy</button>
                            </div>
                        </div>
                    </div>
                    </div>
                </li>

{% endfor %}

Просмотреть все

{% block script %}

    <script>
        function myFunction1() {
                var copyText = document.getElementById("myInput1");
                copyText.select();
                copyText.setSelectionRange(0, 99999);
                document.execCommand("copy");
                alert("Copied the text: " + copyText.value);
            }
    </script>

{% endblock script %}

1 Ответ

0 голосов
/ 30 марта 2020

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

 {% for twenty in twenty %}

        <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown1" role="button"
                           data-toggle="dropdown"
                           aria-haspopup="true" aria-expanded="false">
                            {{ twenty.name }}
                        </a>
                        <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                        <div class="copy">
                            <div class="row">
                                <div class="col-md-8">
                                    <input type="text" value="{{ twenty.detail }}" id="myInput{{ twenty.id }}">
                                </div>
                                <div class="col-md-4">
                                    <button onclick="myFunction1('myInput{{ twenty.id }}')">Copy</button>
                                </div>
                            </div>
                        </div>
                        </div>
                    </li>

    {% endfor %}


{% block script %}

    <script>
        function myFunction1(id) {
                var copyText = document.getElementById(id);
                copyText.select();
                copyText.setSelectionRange(0, 99999);
                document.execCommand("copy");
                alert("Copied the text: " + copyText.value);
            }
    </script>

{% endblock script %}
...