2013-09-02 15 views
5

W poniższym przykładzie http://jsfiddle.net/hU89p/200/Jquery uzyskać wartości wiersza tabeli z wybranymi wyboru

Jak mogę uzyskać wartości wierszy wybranych pól wyboru na funkcję onClick

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

w poniższej tabeli przy wyborze wiele pól wyboru muszę ostrzec odpowiednie wartości wierszy.

function myfunc(ele) { 

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

      )}; 
       } 

Na przykład:

podczas wyboru dwa pierwsze pola wyboru muszę get BlackBerry9650, 2/5, UK, and Samsung Galaxy,3.5/5 ,US

Jak to jest możliwe?

Odpowiedz

5

jsFiddle Demo

Jeśli chcesz, żeby być oddzielone przecinkami i spacjami można wcisnąć każdą komórkę na własną rękę i użyć 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 Naprawiłem coś z funkcją łączenia. Weź zaktualizowany kod – Itay

+0

Działa dobrze, masz jeszcze jedną wątpliwość, w jaki sposób wziąć wartości kolumny ratingowej, kiedy zaznaczę wszystkie pole wyboru – Karthiga

+1

Chcę tylko wartość pierwszej kolumny, a następnie, jak to możliwe? –

2

Spróbuj:

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

Co z przecinkami? 'Muszę zdobyć BlackBerry9650, 2/5, UK i Samsung Galaxy, 3.5/5, US' – Itay

+0

@Itay. Dzięki zaktualizowane. – 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); 
}); 

Przykład: http://jsfiddle.net/hU89p/213/

do niestandardowego sprawdzić wyjście to:

Przykład: http://jsfiddle.net/hU89p/215/

1

zaktualizowałem swoją Fiddle nieco, otrzymany kod wygląda następująco:
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> 

Skrypt:

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

function checkAll() { 
    $('[name=case]:checked').each(function() { 
     alert('selected: ' + $(this).val()); 
    }); 
} 
Powiązane problemy