В коде так:Попытка выбрать значение родственного в JQuery
for(var i=0; i<arSelectedFields.length; i++) {
$("td[class='ms-formlabel']").each(function() {
var txtCol = $.trim($(this).text()); // field name
var fvalue = ""; //field value
if(txtCol == arSelectedFields[i]) {
$("td[class='ms-formlabel'] + td[class='ms-formbody']").each(function() {; // ignoring any field formatting; use html(), if needed
fvalue = $(this).text();
if(fvalue != "") PrintingHTML += "\n<tr><td class='formlabel'>" + txtCol + "</td><td class='xdata'>" + fvalue + "</td></tr>";
else PrintingHTML += "\n<tr><td class='formlabel'>" + txtCol + "</td><td class='xdata'> </td></tr>";
fvalue = "";
}); //each()
return false;
} //else return false;
});
}
У меня есть заявление:
$("td[class='ms-formlabel'] + td[class='ms-formbody']").each(....
То, что я действительно хочу что-то вроде
$(this)...td[class='ms-formbody']").each(...
но не мог заставить его работать. Другими словами, я хочу только td[class='ms-formbody']
, который существует в текущей строке (на основе значения td[class='ms-formlabel']
). Самое близкое, что я могу получить, - это способ, которым я показываю, который запускает сбор элементов formbody сверху, а не только тот, который применяется к текущей выбранной форме.
Любые идеи?
Вы действительно хотите выбрать родных братьев? Вы написали «[...], который существует в текущей строке [...]». Похоже, вы ищете потомков. – griffla
Если бы вы могли разместить html тоже. – Jai
Вы понимаете, что у вас есть цикл внутри цикла в цикле и что первая функция 'each()' будет выполняться столько же раз, сколько значений массива в 'selectedFields', а вторая' each() ' функция будет запускать 'selectedFields.length' * первый' each() ', с очень похожим селектором. Кажется немного странным? – adeneo