jQuery не видит мой идентификатор - PullRequest
0 голосов
/ 10 июня 2018

Это мой html (модальный)

    <div id="myModal" class="modal fade" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h4 class="modal-title"></h4>
                </div>
                <div id="modal-text" class="modal-body">
                    <p id="modalMessage"> </p>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
    </div>

, а вот мой jQuery

    $('a[href="#myModal"]').click(function () {
        if ($("#TermsConditions")) {
            $("#modal-title").html(`<h4>` + "Terms Conditions" + `</h4>`);
            $("#modalMessage").html(`<p>` + "message" + `</p>`);
        }
        else if ($("#Cookies")) {
            $("#modal-title").html(`<h4>` + "Cookies" + `</h4>`);
            $("#modalMessage").html(`<p>` + "message2" + `</p>`);
        }
        else {
            $("#modal-title").html(`<h4>` + "Privacy Policy" + `</h4>`);
            $("#modalMessage").html(`<p>` + "message3" + `</p>`);
        }
    })

модальный должен быть открыт, когда я нажимаю на ссылку и когда я нажимаю, модальный долженпоказать заголовок и текст из выбранной ссылки (id), это будет выглядеть так (картинка)

img modal

это просто записывает "message" ...

и это код моих ссылок

                <ul class="list-unstyled list-inline gray">
                    <li class="footerDistance" style="display:inline;"><a data-target="#myModal" data-toggle="modal" href="#myModal" id="TermsConditions">Terms&Conditions</a></li>
                    <li class="footerDistance" style="display:inline;"><a data-target="#myModal" data-toggle="modal" href="#myModal" id="Cookies">Політика Cookies</a></li>
                    <li class="footerDistance" style="display:inline;"><a data-target="#myModal" data-toggle="modal" href="#myModal" id="PrivacyPolicy">Політика Конфіденційності</a></li>
                </ul>

Помогите пожалуйста!

Ответы [ 2 ]

0 голосов
/ 10 июня 2018

Вы пытаетесь получить элемент по идентификатору "modal-tile", но в вашем html нет элемента с идентификатором "modal-title"

$("#modal-title").html(`<h4>` + "Privacy Policy" + `</h4>`);
         <h4 class="modal-title"></h4>

Я думаю, вам нужно изменить код на

     <h4 class="modal-title" id="modal-title"></h4>

Также вы можете изменить метод клика следующим образом:

$('a[href="#myModal"]').click(function () {
       var clickedAnchorId = $(this).attr('id');

        if (clickedAnchorId === "TermsConditions") {
            $("#modal-title").html(`<h4>` + "Terms Conditions" + `</h4>`);
            $("#modalMessage").html(`<p>` + "message" + `</p>`);
        }
        else if (clickedAnchorId === "Cookies") {
            $("#modal-title").html(`<h4>` + "Cookies" + `</h4>`);
            $("#modalMessage").html(`<p>` + "message2" + `</p>`);
        }
        else {
            $("#modal-title").html(`<h4>` + "Privacy Policy" + `</h4>`);
            $("#modalMessage").html(`<p>` + "message3" + `</p>`);
        }
    })
0 голосов
/ 10 июня 2018

Сделай это проще.

$("#TermsConditions").click(function(){...});

$("#Cookies").click(function(){...});

...
...