2014-07-15 5 views
18

Mam tabelę HTML, gdzie muszę wybrać wiersz i wysłać jego pierwszy identyfikator komórki do przycisku i onclick przycisku wysłać wybraną wartość do funkcji w JavaScript . Jak mogę to osiągnąć?Wybierz wiersz z tabeli html i wyślij wartości na kliknięcie przycisku

test.html:

<table id="table"> 
     <tr> 
      <td>1 Ferrari F138</td> 
      <td>1 000€</td> 
      <td>1 200€</td> 

     </tr> 
     <tr> 
      <td>2 Ferrari F138</td> 
      <td>1 000€</td> 
      <td>1 200€</td> 

     </tr> 
     <tr> 
      <td>3 Ferrari F138</td> 
      <td>1 000€</td> 
      <td>1 200€</td> 

     </tr> 
    </table> 
    <input type="button" id="tst" value="OK" onclick="fnselect()" /> 

test.js:

var table = document.getElementById('table'), 
    selected = table.getElementsByClassName('selected'); 
table.onclick = highlight; 
function highlight(e) { 
    if (selected[0]) selected[0].className = ''; 
    e.target.parentNode.className = 'selected'; 
} 
function fnselect(){ 
var $row=$(this).parent().find('td'); 
    var clickeedID=$row.eq(0).text(); 
    alert(clickeedID); 
} 

test.css:

td {border: 1px #DDD solid; padding: 5px; cursor: pointer;} 

.selected { 
    background-color: brown; 
    color: #FFF; 
} 

to ryba M y problem JSFIDDLE

Potrzebuję wysłać pierwszą wartość wybranego wiersza komórki do funkcji javascript. Ale gdy użytkownik wybierze wiersz i kliknie przycisk "OK", powinien wysłać tę wartość do funkcji. Jak to zrobić?

Odpowiedz

27
$("#table tr").click(function(){ 
    $(this).addClass('selected').siblings().removeClass('selected');  
    var value=$(this).find('td:first').html(); 
    alert(value);  
}); 

$('.ok').on('click', function(e){ 
    alert($("#table tr.selected td:first").html()); 
}); 

Demo:

http://jsfiddle.net/65JPw/2/

+0

I chcesz wysłać pierwszą wartość komórki tylko po kliknięciu przycisku OK. Nie w jednym rzędzie, proszę pana. Właśnie tam utknąłem. – user3201640

+0

@ user3201640, zaktualizowałem swoją odpowiedź. Proszę sprawdzić. – RGS

+0

świetnie. Dodałem powyższy kod do tagu skryptu. Mam tabelę html. ale gdy wybieram wiersz nic się nie dzieje. –

4

Możesz przejść do pierwszego elementu dodając następujący kod do funkcji highlight

$(this).find(".selected td:first").html()

Kodeks pracy: JSFIDDLE

+0

Chcę wysłać pierwszą wartość komórki tylko po kliknięciu przycisku OK. Nie w jednym rzędzie, proszę pana. Właśnie tam utknąłem. – user3201640

+0

@ user3201640: Nie znalazłem przycisku w skrzypce, który udostępniłeś –

+0

@ user3201640: Zobacz to [skrzypce] (http://jsfiddle.net/sunil_hari/Z22NU/15/) i daj mi znać, jeśli to jest to czego chcesz –

0

To poniżej kod da wybrany wiersz, można analizować wartości z nim i wysłać do wywołania AJAX.

$(".selected").click(function() { 
var row = $(this).parent().parent().parent().html();    
}); 
Powiązane problemy