2010-08-20 27 views
5

tôi cần phải lặp qua tất cả hộp kiểm đó là bên trong một thẻ div với id # abc123Vòng qua tất cả các hộp kiểm đó là bên trong một thẻ div

Làm thế nào tôi có thể làm điều này?

$("#abc123").foreach(????) 

Cập nhật hàng html của tôi trông giống như:

<tr> 
<td><input .../> </td> 
<td>234</td> 

</tr> 

Tôi cần thêm giá trị của <td> vào ID của hộp kiểm.

Tôi chỉ cần có được cha mẹ, sau đó tổ tiên nó bằng cách nào đó?

Trả lời

7
$("#abc123 input[type=checkbox]").each(function() 
    { 

    }); 

UPDATE:

Ok, Let'd xem liệu tôi có thẳng này. Đưa ra:

<tr> 
<td><input .../> </td> 
<td>234</td> 
</tr> 

Bạn muốn kết quả được (hiệu quả)

<tr> 
<td><input id="abc234" .../> </td> 
<td>234</td> 
</tr> 

$("td input[type=checkbox]").each(function() 
{ 
    var id = $(this).next("td").text(); 
    $(this).attr("id", "abc"+ id); 
}); 
+0

xem bản cập nhật của tôi, chỉ là .parent(). và sau đó bằng cách nào đó tôi đi qua yếu tố tiếp theo? – Blankman

5
$("#abc123 input[type=checkbox]").each(function() { 
    $(this).dosomething(); 
}); 
0

Sử dụng một sự kiện onkeydown ... Tôi khuyên bạn nên phím tab đó là keycode "9"

$(document).keydown(function(e){ 
    if(event.keyCode == '9'){ 
    ... 
} 

Bên trong if statement bạn sẽ cần một nested if statement để kiểm tra phần tử nào đang được lấy nét và sau đó chỉ định tiêu điểm cho phần tử tiếp theo như sau:

document.div.id.focus(); 
0

Bạn không gắn nhãn nơi #abc123 có trong mã của bạn. Ngoài ra, các thẻ <td> có nhận dạng không? Sau đây có thể hoạt động.

$("#abc123 input:checkbox").each(function(i) { 
    id = $(this).closest('td').next('td').text(); 
    $(this).attr('id', id); 
}); 

Tôi không chắc chắn sâu cách <div id="abc123"> của bạn là ở <td> vì vậy tôi sử dụng phương pháp gần gũi nhất() để có được bao bọc tế bào. Nếu nó chỉ sâu 1, nghĩa là không có <div> vì nó xuất hiện trong mã của bạn, thì bạn chỉ có thể sử dụng parent(). Chúc may mắn.

Các vấn đề liên quan