2013-09-02 29 views
5

Trong ví dụ sau http://jsfiddle.net/hU89p/200/Jquery để có được giá trị dòng của bảng của hộp kiểm chọn

Làm thế nào tôi có thể nhận được các giá trị liên tiếp của hộp kiểm chọn trên onClick chức năng

  Select Cell phone  Rating  Location 
        BlackBerry9650 2/5  UK 
        Samsung Galaxy 3.5/5  US 
        Droid X   4.5/5  REB 

trong bảng sau khi lựa chọn nhiều hộp kiểm Tôi phải cảnh báo các giá trị hàng tương ứng.

function myfunc(ele) { 

var values = new Array(); 
     $.each($("input[name='case[]']:checked"), function() { 
     values.push($(this).val()); 
     alert("val---"+values); 

      )}; 
       } 

Ví dụ:

khi lựa chọn hai hộp kiểm đầu tiên tôi phải get BlackBerry9650, 2/5, UK, and Samsung Galaxy,3.5/5 ,US

Làm thế nào có thể?

Trả lời

5

jsFiddle Demo

Nếu bạn muốn họ được tách bằng dấu phẩy và không gian bạn có thể đẩy từng tế bào trên riêng của mình và sử dụng JS Array .join()

var values = new Array(); 

$.each($("input[name='case[]']:checked").closest("td").siblings("td"), 
     function() { 
      values.push($(this).text()); 
     }); 

    alert("val---" + values.join(", ")); 
+0

@chinchu Tôi đã sửa lỗi gì đó bằng chức năng tham gia. Lấy mã cập nhật – Itay

+0

Làm việc tốt của nó có một nghi ngờ trong này làm thế nào để có giá trị cột xếp hạng khi tôi chọn tất cả các hộp kiểm – Karthiga

+1

Tôi muốn chỉ có giá trị cột 1 sau đó làm thế nào là có thể? –

2

Hãy thử:

function myfunc(ele) { 
var values = new Array(); 
     $.each($("input[name='case[]']:checked").parents("td").siblings(), function() { 
      values.push($(this).text()); 
      alert("val---"+values); 
     }); 
} 

DEMO FIDDLE

+0

Điều gì về dấu phẩy? Tôi phải mua BlackBerry9650, 2/5, UK và Samsung Galaxy, 3,5/5, US2 – Itay

+0

@Itay. Cảm ơn đã cập nhật. – Unknown

3
$("input[name='case[]']").click(function(){ 
var values = new Array(); 
     $.each($("input[name='case[]']:checked"), function() { 
      var data = $(this).parents('tr:eq(0)'); 
      values.push({ 'callphone':$(data).find('td:eq(1)').text(), 'rating':$(data).find('td:eq(2)').text() , 'location':$(data).find('td:eq(3)').text()});    
     }); 

     console.log(values); 
}); 

Ví dụ: http://jsfiddle.net/hU89p/213/

để kiểm tra đầu ra tùy chỉnh của bạn này:

Ví dụ: http://jsfiddle.net/hU89p/215/

1

Tôi đã cập nhật Fiddle của bạn một chút, mã kết quả sẽ như thế này:
HTML:

<table border="1"> 
    <tr> 
     <th>Select</th> 
     <th>Cell phone</th> 
     <th>Rating</th> 
     <th>Location</th> 
    </tr> 
    <tr> 
     <td align="center"> 
      <input type="checkbox" class="case" name="case" value="1" /> 
     </td> 
     <td>BlackBerry Bold 9650</td> 
     <td>2/5</td> 
     <td>UK</td> 
    </tr> 
    <tr> 
     <td align="center"> 
      <input type="checkbox" class="case" name="case" value="2" /> 
     </td> 
     <td>Samsung Galaxy</td> 
     <td>3.5/5</td> 
     <td>US</td> 
    </tr> 
    <tr> 
     <td align="center"> 
      <input type="checkbox" class="case" name="case" value="3" /> 
     </td> 
     <td>Droid X</td> 
     <td>4.5/5</td> 
     <td>REB</td> 
    </tr> 
    </tr> 
</table> 

Tập lệnh:

$('[name=case]').click(function() { 
    checkAll(); 
}); 

function checkAll() { 
    $('[name=case]:checked').each(function() { 
     alert('selected: ' + $(this).val()); 
    }); 
} 
Các vấn đề liên quan