#id дете на $(това)

Извинявам се за объркания скрипт и етикети, просто съм начинаещ. Искам да избера текста в div с класа "reserveAPickupAppointmentLocation. Този div е вътре в $(this). $(this) е избраният запис от многото. Релевантният ред е:

var location = $(".reserveAPickupAppointmentLocation, this").text();

Това връща местоположението от всички записи, вместо само от $(this). Как да получа само това, което искам?

Пълна jquery функция:

   $(".reserveAPickupAppointmentRoommateAppointment").click (function() {
    if ($(this).hasClass("confirm")) {
    }
    else {
        $("img").remove(".confirmAppointment");
        $(".reserveAPickupAppointmentRoommateAppointment").removeClass("confirm");
        $(this).addClass("confirm");
        $(this).append("<img src=images/confirmAppointment.png class=confirmAppointment id=roommateAppointment>");
            $(".confirmAppointment").click (function() {
                $(".confirmAppointment").unbind("click");
                var location = $(".reserveAPickupAppointmentLocation, this").text();
                alert (location);
            });
    }
   });

съответната php част

echo '<table>';
while ($row = mysql_fetch_array($result)) { 

echo
'<tbody class = "reserveAPickupAppointmentRoommateAppointment">
    <tr>
            <td>'
                .$row["name"].
            '</td>
            <td>
                <span class = "reserveAPickupAppointmentLocation">'
                    .$row["location"].
                '</span>
            </td>
            <td>
                <span class = "reserveAPickupAppointmentSubLocation">'
                    .$row["subLocation"].
                '</span>
            </td>
        </tr>
        <tr>
            <td>
                <span class = "reserveAPickupAppointmentStartTime">'
                .$row["startTime"].
            '</span>    - 
            <span class = "reserveAPickupAppointmentEndTime">'
            .$row["endTime"].
                '</span>
            </td>
            <td>
                <span class = "reserveAPickupAppointmentDate">'
                .$row["date"].
                '</span>
            </td>
        </tr>
    </tbody>';
}

echo '</table>

person radleybobins    schedule 24.12.2011    source източник
comment
@lotusH се актуализира с html...Знам, че това е объркан начин да си върна данните, имах дискусия с някого по-рано в този форум, но все още не съм имал възможност да го променя.   -  person radleybobins    schedule 24.12.2011
comment
и благодаря, че ме накарахте да публикувам, че докато го почиствах, открих грешката... Бях изписал грешно местоположение 4 пъти (вероятно копиран и поставен), не работи с кода отдолу   -  person radleybobins    schedule 24.12.2011


Отговори (3)


За да предадете втори параметър на jQuery селектор като контекст, в който да търсите, ще трябва първо да затворите кавички.

var location = $(".reserveAPickupAppointmentLocation", this).text();

НО

Стойността на this във вашето обратно извикване при кликване ще промени стойността, така че ще трябва да я запазите предварително.

$(this).append("<img src=images/confirmAppointment.png class=confirmAppointment id=roommateAppointment>");
var self = this;
$(".confirmAppointment").click (function() {
    $(".confirmAppointment").unbind("click");
    var location = $(".reserveAPickupAppointmentLocation", self).text();
    alert (location);
});
person Adam Rackis    schedule 24.12.2011
comment
Това е решението, което най-накрая проработи, но също така трябваше да коригирам друга правописна грешка, няколко пъти бях написал неправилно местоположение от копиране и поставяне неправилно. Обзалагам се, че ако пробвах другите, също ще имам по-голям успех. - person radleybobins; 24.12.2011

Просто си сбъркал кавичките:

$(".reserveAPickupAppointmentLocaton", this).text();

this е втори аргумент на функцията jQuery за указване на контекста, имали сте го като част от селектора. Контекстът е незадължителен аргумент за jQuery

person Paul    schedule 24.12.2011
comment
това всъщност връща моя URL адрес по някаква причина - person radleybobins; 24.12.2011
comment
опа, вмъкнах това погрешно, не се показва с url, просто празно като другите - person radleybobins; 24.12.2011

Опитайте тази:

var location = $(".reserveAPickupAppointmentLocaton", $(this)).text();
person Ayman Safadi    schedule 24.12.2011