2013-09-02 9 views
5

Nell'esempio seguente http://jsfiddle.net/hU89p/200/Jquery per ottenere valori di riga della tabella di caselle selezionati

Come si può ottenere i valori di riga di caselle di controllo selezionati in funzione onClick

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

nella seguente tabella durante la selezione più caselle di controllo Devo avvisare i valori delle righe corrispondenti.

function myfunc(ele) { 

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

      )}; 
       } 

Ad esempio:

mentre la selezione di prime due caselle di controllo devo get BlackBerry9650, 2/5, UK, and Samsung Galaxy,3.5/5 ,US

Come è possibile?

risposta

5

jsFiddle Demo

Se si desidera loro di essere separati da virgole e gli spazi si possono spingere ogni cellula in proprio e utilizzare 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 Ho corretto qualcosa con la funzione join. Prendi il codice aggiornato – Itay

+0

Il suo valore di lavoro ha un altro dubbio in questo come prendere i valori delle colonne di valutazione quando seleziono tutte le caselle di controllo – Karthiga

+1

Voglio solo il 1 ° valore della colonna, allora come è possibile? –

2

Prova:

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

E le virgole? 'Devo ottenere BlackBerry9650, 2/5, UK e Samsung Galaxy, 3.5/5, US – Itay

+0

@Itay. Grazie aggiornato. – 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); 
}); 

Esempio: http://jsfiddle.net/hU89p/213/

per il check in uscita personalizzato questo:

Esempio: http://jsfiddle.net/hU89p/215/

1

Ho aggiornato il vostro violino un po ', il codice risultante è simile al seguente:
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> 

Script:

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

function checkAll() { 
    $('[name=case]:checked').each(function() { 
     alert('selected: ' + $(this).val()); 
    }); 
} 
Problemi correlati