2012-02-24 68 views
1

爲什麼下面的代碼用class = dupegroup red改變表中的所有TD?觸發點擊事件的TD在其中有一個複選框。我想知道該行中第一個TD的價值,所以我在其上放置了class = dupegroup。 ajax調用更新數據庫。這只是一個測試,所以我可以想出一個方法來獲得第一個TD的價值。jquery prev - with selector

$('.notdupe').live('click', function (e) { 
    $.ajax({ 
     type: "POST", 
     url: "cfc/basic.cfc?method=SetNotDupe", 
     data: "indivNum=" + $(e.target).val() + "&SetValue=" + $(e.target).is(":checked"), 
     error: function (xhr, textStatus, errorThrown) { 
     } 
    }); 
     $('td').prev('.dupegroup').css('background-color', 'red'); 
    }); 

增加從評論HTML ...

<td class="dupegroup">#dupe_group_number#</td> 
<td> 
    <input type="checkbox" name="UserIDList" value="#userid#"/> 
</td> 
<td> 
    <a href="#request.controlURL#individuals/?fa=viewIndiv&dkey=#userid#" target="_blank"> 
     #userid# 
</td> 
<td>#lastname#</td> 
<td>#firstname#</td> 
<td>#nickname#</td> 
<td>#companyname#</td> 
<td>#address1#</td> 
<td>#zipcode#</td> 
<td>#state#</td> 
<td align="center"> 
    <input class="notdupe" type="checkbox" name="indivID" value="#userid#" checked /> 
</td> 

回答

0

由於@am可不是我現在說的應該可行,但如果你已經抓住它的獨特方式......爲什麼不把它寫這樣

$('td.dupegroup').css({'background-color', 'red'}); 
+0

$ firstTD = $(this).parent()。siblings()。first() 作品 – user990016 2012-02-24 17:19:54

+0

或者它也許可能是這樣的$(this).parent('tr')。find('。 dupegroup「) – afreeland 2012-02-24 18:18:05

2

「爲什麼下面的代碼更改所需的所有TD的」

因爲你'選擇全部td元素與$('td')

改爲使用$(this).prev('.dupegroup'),或者如果.dupgroup不直接相鄰,請使用$(this).prevAll('.dupgroup')

+0

豈不$(這)是AJAX在那個時候打電話? – user990016 2012-02-24 03:44:01

+0

@ user990016:不,該代碼不在AJAX回調中。 – 2012-02-24 03:51:47

+0

沒有工作$(this).prevAll('。dupegroup').css('background-color','red'); – user990016 2012-02-24 03:54:20