2015-11-04 69 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')我希望你需要bi nd eventcheckbox

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

DEMO

當你說siblings那麼它會獲取所有的第一 tdsiblings,這就是爲什麼你所得到的所有值。

+1

啊!好的,我明白了。謝謝。 – 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'); 
    }); 
}); 
相關問題