2014-12-31 2 views
-1

내 루프가 JQuery와와 나는 그것을 JQuery와 각 루프를 사용하여 제거하고 있습니다 JQuery와

<tr id="auctionLocation_0"></tr> 
<tr id="auctionLocation_0"></tr> 
<tr id="auctionLocation_0"></tr> 
<tr id="auctionLocation_1"></tr> 
<tr id="auctionLocation_1"></tr> 
<tr id="auctionLocation_1"></tr> 

를 사용하여 런타임이 생성됩니다를 사용하여 각 루프에서 제대로 테이블 그럴 필요를 제거 할 수 없습니다 내 코드는

입니다
function testing() { 
    var current = 0; 
    $("#user").each(function() { 
     $("#user").find("tr[id='auctionLocation_"+current+"']").remove(); 
     current++; 
    }); 
} 

또는

function testing() { 
    $("#user").each(function(i, v) { 
     $("#user").find("tr[id='auctionLocation_"+i+"']").remove(); 
     }); 
} 

유일한 0 인덱스되지 1 인덱스를 제거 어떻게 내가 할 수 있니? 당신이 ID 사용자를 선택하면

내 만들기 코드

var counterForLocationsField = 1; 
var auctionCompanyLocationArray = data.auctionCompanyLocationArray; 
for(var auctionCompanyLocationLoop = 0; auctionCompanyLocationLoop < auctionCompanyLocationArray.length; auctionCompanyLocationLoop++) { 
var completeTr = "<tr id='auctionLocation_"+auctionCompanyLocationLoop+"'><td>Location Name "+counterForLocationsField+"</td><td>"+auctionCompanyLocationArray[auctionCompanyLocationLoop]["auctionLocationName"]+"</td> <td>Location Address "+counterForLocationsField+"</td><td>"+auctionCompanyLocationArray[auctionCompanyLocationLoop]["auctionLocationAddress"]+"</td></tr>"; 
completeTr += "<tr id='auctionLocation_"+auctionCompanyLocationLoop+"'><td>Location City "+counterForLocationsField+"</td><td>"+auctionCompanyLocationArray[auctionCompanyLocationLoop]["auctionLocationCity"]+"</td> <td>Location State "+counterForLocationsField+"</td><td>"+auctionCompanyLocationArray[auctionCompanyLocationLoop]["auctionLocationState"]+"</td></tr>"; 
completeTr += "<tr id='auctionLocation_"+auctionCompanyLocationLoop+"'><td>Location Zipcode "+counterForLocationsField+"</td><td>"+auctionCompanyLocationArray[auctionCompanyLocationLoop]["auctionLocationZipcode"]+"</td> <td>Location Phone "+counterForLocationsField+"</td><td>"+auctionCompanyLocationArray[auctionCompanyLocationLoop]["auctionLocationPhone"]+"</td></tr>"; 
$(completeTr).insertBefore("#lastRow"); 
counterForLocationsField++; 
} 
+4

왜 두 번 이상 ID를 사용하고 있습니다 .. –

+5

여러 요소에 동일한 ID를 사용하지 마십시오. – Barry

+0

당신이 현재와 같이 오류를 발생시키는 것은 마크 업을 작성하는 잘못된 방법이라는 것을 알고 계십니까? – Jai

답변

0

이잖아, 루프는 한 번만 반복됩니다. ID는 고유합니다. 시작 부분 선택 도구를 사용할 수 있습니다. $("tr[id^='auctionLocation_']").remove(); 루프가 필요하지 않습니다. 루프를 사용하려면 $("tr[id^='auctionLocation_']").each()을 사용하십시오.

+0

ID 대신 클래스를 사용했지만 클래스도 작동하지 않습니다. – user3833682

+0

내 데이터베이스 레코드를 기반으로 3 tr를 표시해야합니다. 할 것? – user3833682

+0

당신의 코드는 ID가있는 나를 위해 일합니다. – user3833682

0

다른 요소에 동일한 ID를 사용하지 마십시오. ID는 페이지에서 고유해야합니다.

사용 클래스 대신, 같은 : 루프없이

<tr class="auctionLocation_0"></tr> 
<tr class="auctionLocation_0"></tr> 
<tr class="auctionLocation_0"></tr> 
<tr class="auctionLocation_1"></tr> 
<tr class="auctionLocation_1"></tr> 
<tr class="auctionLocation_1"></tr> 

그리고 당신이 그들을 제거 할 때, 바로 위의 작업을 수행 :

$('tr.auctionLocation_0').remove() 
+0

배리 (Barry)의 코드가 나를 위해 작동합니다. 덕분에 – user3833682

+0

글쎄, 난 아직도 당신이 클래스에 대한 당신의 ID를 변경해야한다고 생각하지만, 코드는 당신입니다 .. :) –