JQuery: Как получить текст текущего тега, используя идентификатор? - PullRequest
0 голосов
/ 24 февраля 2019

Я хочу отправить ajax GET-запрос с помощью jQuery, и мне нужно отправить идентификатор объекта в контроллер.Я использую thymeleaf th:each looping для отображения объектов.Код, который я написал, работает для первой сущности, но не для других.

Ниже приведен код HTML-страницы:

<div th:each="course : ${session.courses}" >
        <img th:src="@{'/images/' + ${course.image.imageURL}}" alt="">
        <h3 class="text-dark" id="course-id" th:text="${course.courseId}" style="display: none;" ></h3>
        <h3 class="text-dark" th:text="${course.courseName}"></h3>
        <p class="mt-3 mb-4 pl-lg-4" th:text="${course.title}"></p>
        <a th:text="${course.courseDuration}"></a>
        <a th:text="${course.noOfSets}"></a>
        <a class="btn button-cour-w3ls text-white" th:href="@{'course_details?cid='+${course.courseId}}" role="button">Learn More</a>
        <a class="btn bg-dark text-white" id="apply-course"  role="button">Apply Now</a>
</div>

И это код jQuery:

$("#apply-course").click(function(e){
    e.preventDefault();
    var courseId = $("#course-id").text();
    var data="/?cid="+courseId;
    $.ajax({
        url : "/course/apply_course/"+data,
        type : "GET",
        success : function(result){
            if(result.status){
                alert("Data transfer successfull");
            }
            else{
                alert(result.message);
            }
        }

    });
});

Пожалуйста, помогите мне с этой проблемой.

1 Ответ

0 голосов
/ 24 февраля 2019

Вы запрашиваете идентификатор id="apply-course", который происходит несколько раз из-за вашего цикла.Попробуйте вместо этого использовать класс.

<h3 class="text-dark" **class**="course-id" ...
...
<a class="btn bg-dark text-white" id="apply-course"  role="button">Apply Now</a>

Тогда в вашем js:

$(".apply-course").click(function(e) { // .apply-course
e.preventDefault();
var courseId = $(this).parent().find('.course-id').text(); // $(this) instead of query id
...

Конечное примечание: оно называется jQu e или мой друг: D

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