получить данные из функции post в расположении parent (). parent () - PullRequest
0 голосов
/ 22 апреля 2011

как получить значение jquery, используя '

$.ajax({
    type: "POST",
    url: "ef_StdInfo_todb.php",
    data: formVals(),
    success: function(data, msg){
    $(this).parent().parent().html(data);
    $(this).parent().parent().('#status_Div").text(msg);
   }

Ничего не произошло. но если я поставлю прямое имя div $ ("anydiv") вместо родительских, родительских строк. затем значения появляются. что не так

Ответы [ 3 ]

2 голосов
/ 22 апреля 2011

Селектор, на который указывает Алекс, тем не менее, не зная, как вы звоните $.ajax(), я сделаю некоторые предположения.

$.ajax({
    type: "POST",
    url: "ef_StdInfo_todb.php",
    data: formVals(),
    success: function(data, msg) {
      $(this).parent().parent().find('#status_Div').text(msg);
   }
});

this будет ссылкой на ваш xhr объект, а не элемент, по которому вы щелкнули или вызвали $.ajax, что объясняет, почему ваш успешный вызов не удался.

Если вызывается через .click(), просто создайте переменную для хранения элемента, по которому щелкнули.

$(":button").click(function() {
    var $that = $(this);
    $.ajax({
        type: "POST",
        url: "ef_StdInfo_todb.php",
        data: formVals(),
        success: function(data, msg) {
          $that.parent().parent().html(data);
          $('#status_Div').text(msg);
       }
    });
});

Примечание , поскольку вы запрашиваете через id, вы можете просто позвонить $('#status_Div').text(msg), не беспокоясь о .parent()

Пример для jsfiddle

2 голосов
/ 22 апреля 2011
$(this).parent().parent().('#status_Div").text(msg);

Эта строка неверна. Вы, вероятно, захотите find() там после второго вызова parent(). Вы также используете ' и " в качестве разделителей в той же строке. Это не сработает. Выберите одно или другое и будьте последовательны.

$(this).parent().parent().find('#status_Div').text(msg);

Кроме того, вы можете использовать closest() со строкой селектора для доступа к родительским узлам, пока один из них не совпадет с селектором. Может быть полезно избежать нескольких вызовов на parent().

1 голос
/ 22 апреля 2011

Алекс прав. В любом случае, $(this).parent().parent().html(data); заменит все, что существует внутри parent (). Parent (), поэтому #status_Div можно найти, только если оно включено в data. Я прав?

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