2015-11-04 3 views
1

В настоящее время я получаю весь вывод из строки. Можно ли получить значение только выбранных «баллов». Как я могу это сделать?Как получить значение выбранного столбца с помощью флажка в JQuery?

Ожидаемый результат при проверке: SF01 SF02 SF03

Выходной ток при проверке: SF01 11,5 3,5328 120,3359

<table border="1" width="100%" id="selectTable" name="selectTable"> 
    <legend>Display Data Points</legend> 
    <tr> 
     <th></th> 
     <th width="40%">Point</th> 
     <th width="20%">Depth</th> 
     <th width="20%">Lat</th> 
     <th width="20%">Long</th> 
    </tr> 
    <tr> 
     <td> 
      <input type="checkbox" class="checkBox" name="checkBox[]" /> 
     </td> 
     <td>SF01</td> 
     <td>11.5</td> 
     <td>3.5328</td> 
     <td>120.3359</td> 
    </tr> 
    <tr> 
     <td> 
      <input type="checkbox" class="checkBox" name="checkBox[]" /> 
     </td> 
     <td>SF02</td> 
     <td>41.5</td> 
     <td>6.5328</td> 
     <td>113.3359</td> 
    </tr> 
    <tr> 
     <td> 
      <input type="checkbox" class="checkBox" name="checkBox[]" /> 
     </td> 
     <td>SF03</td> 
     <td>82.1</td> 
     <td>5.2828</td> 
     <td>721.9059</td> 
    </tr> 
</table> 

<script type="text/javascript"> 
    function clickedBox() { 

     var values = new Array(); 

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

     }); 

     document.getElementById("boxArea").value = "=====Results=====\n" + values.join("\n"); 
    } 

    $(document).ready(function() { 
     $("#selectPoint").click(clickedBox); 
    }); 
</script> 
+0

Сравнивая пример ожидаемого результата с HTML, это кажется вы имеете в виду вы хотите получить vlaues от конкретного столбцам, а не строка? Если это так, отредактируйте свой вопрос, чтобы смысл был очевиден. В противном случае вам необходимо предоставить дополнительные разъяснения. –

+0

Какой элемент '# selectPoint' здесь? –

+0

Добавить в 'ready',' $ (': checkbox [name = "checkBox []"]'). Change (clickedBox); ' – Tushar

ответ

1

Изменить siblings('td') к next('td'), и я надеюсь, вам нужно би nd event - checkbox.

$.each($("input[name='checkBox[]']:checked").closest("td").next("td"), function() { 
                 //^^^^here 
    values.push($(this).text()); 
}); 

DEMO

Когда вы говорите siblings, то он будет получать все siblings первого td, поэтому вы получаете все значения.

+1

Ahh! хорошо я понял. Благодарю. – aiper

+0

В любое время .. Счастливое кодирование .. :) –

0

Чтобы сохранить его более просто-

Положите значение, используя data атрибуты элемента.

<input type="checkbox" data-value="SF02"/>

jQuery-

$(function(){ 
    values= new Array(); 
    $.each($('input[type="checkbox"]:checked'),function(index,item){ 
    values.push(item.data('value'); 
    }); 
}); 
Смежные вопросы