Использование функции поиска для определения значения родного брата - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь получить значение .postingTitle для конкретной записи задания, по которой пользователь нажимает «Применить».Для этого я пытаюсь использовать jobTitle = $('.applyButton').parents().find('.postingTitle').val();, чтобы найти postingTitle.

. На данный момент я не могу ничего заполнить.Вывод - исключительно моя глобальная переменная jobTitle = '';.Кто-нибудь видит, почему моя find функция не работает?

Закомментированный код в JS - это другие методы, которые я пробовал.

JS

var jobTitle = '';
$('.applyButton').on('click', function (event) {
    //jobTitle = $('.applyButton').siblings().find('.postingTitle').val();
    jobTitle = $('.applyButton').parents().find('.postingTitle').val();
    //jobTitle = $(this).closest('.postingTitle').val();
    $('#jobTitle').html(jobTitle);
    console.log(jobTitle);
});

PHP

foreach ($career_rows as $career_row) {
        $category = $career_row['category'];
        $job_title = $career_row['job_title'];
        $job_description = $career_row['job_description'];
        $job_requirements = $career_row['job_requirements'];
        $job_status = $career_row['active'];
            echo '<div class="posting">';
                echo '<div class="postingInner">';
                    echo '<span class="postingCategory hGc">'. $category .'</span>';
                    echo '<h3 class="postingTitle">'. $job_title .'</h3>';
                    echo '<p class="postingDescription dGsmall">'. $job_description .'</p>';
                    echo '<p class="dG bold jobRequirementsTitle">Requirements:</p>';
                    //echo '<ul class="jobRequirementList">'. $job_requirements .'</ul>';
                    echo '<ul class="jobRequirementList">'. join('</li><li class="dGsmall">',preg_split('/@@@/',$job_requirements)) .'</ul>';
                    echo '<div class="applyButtonWrap"><button class="buttonInv2 applyButton">Apply</button></div>';
                echo '</div>';
            echo '</div>';
    }

1 Ответ

0 голосов
/ 11 мая 2018

.val() работает только для input, select, textarea и, возможно, некоторых других. Если вы хотите получить текст внутри другого элемента, вы должны использовать .text(), и, поскольку .postingTitle является h3, вам нужно сделать:

 jobTitle = $(this).closest('.postingInner').find('.postingTitle').text();
...