2014-11-10 10 views
5

Ho una tabella che assomiglia a questo:Selezionare primi 5 casella di controllo da una tabella facendo clic su un pulsante

<table id="start" class="appplytblclr"> 
    <tr class="heading"> 
     <td>First coumn</td> 
     <td>second column</td> 
     <td>3rd column</td> 
     <td>4th column</td> 
     <tr> 
      <tr id='1'> 
       <td> 
        <input type="checkbox" offval="no" value="&nbsp;"> 
       </td> 
       <td>s</td> 
       <td>t</td> 
       <td>f</td> 
      </tr> 
      <tr id='2'> 
       <td> 
        <input type="checkbox" offval="no" value="&nbsp;"> 
       </td> 
       <td>s</td> 
       <td>t</td> 
       <td>f</td> 
      </tr> 
      <tr id='3'> 
       <td> 
        <input type="checkbox" offval="no" value="&nbsp;"> 
       </td> 
       <td>s</td> 
       <td>t</td> 
       <td>f</td> 
      </tr> 
      <tr id='4'> 
       <td> 
        <input type="checkbox" offval="no" value="&nbsp;"> 
       </td> 
       <td>s</td> 
       <td>t</td> 
       <td>f</td> 
      </tr> 
      <tr id='5'> 
       <td> 
        <input type="checkbox" offval="no" value="&nbsp;"> 
       </td> 
       <td>s</td> 
       <td>t</td> 
       <td>f</td> 
      </tr> 
      <tr id='6'> 
       <td> 
        <input type="checkbox" offval="no" value="&nbsp;"> 
       </td> 
       <td>s</td> 
       <td>t</td> 
       <td>f</td> 
      </tr> 
      <tr id='7'> 
       <td> 
        <input type="checkbox" offval="no" value="&nbsp;"> 
       </td> 
       <td>s</td> 
       <td>t</td> 
       <td>f</td> 
      </tr> 
    </tr> 
</table> 

Ho un pulsante che, al clic, dovrebbe scegliere i primi cinque caselle di controllo. Questo è quello che ho provato finora:

$('#clickbtn').on('click', function (e) { 
    var sList = ""; 
    $('input[type=checkbox]').each(function() { 
     sList += $(this).val() + ","; 
    }); 
    var comma = sList.split(",", 5); 
}); 

ma non sembra funzionare. Come dovrei affrontare questo problema?

+1

Che cosa avete bisogno, essere più specifico e chiaro. Si prega di fornire un jsfiddle dei vostri codici! –

+0

Che cosa significa "ma la casella di controllo non verifica"? Stai cercando il selettore ': checked'? Vuoi controllare le prime 5 caselle? – undefined

+0

@Vohuman sì, ho bisogno di controllare le prime 5 caselle di controllo – aniltc

risposta

3

È possibile utilizzare :lt() selettore:

$("#selectFirstFive").on("click", function() { 
 
    var checkBoxes = $("#start tr td :checkbox:lt(5)");//using :lt get first 5 checkboxes 
 
    $(checkBoxes).prop("checked", !checkBoxes.prop("checked"));//change checkbox status based on check/uncheck 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="start" class="appplytblclr"> 
 
    <tr class="heading"> 
 
    <td>First coumn</td> 
 
    <td>second column</td> 
 
    <td>3rd column</td> 
 
    <td>4th column</td> 
 
    <tr> 
 
     <tr id='1'> 
 
     <td> 
 
      <input type="checkbox" offval="no" value="&nbsp;"> 
 
     </td> 
 
     <td>s</td> 
 
     <td>t</td> 
 
     <td>f</td> 
 
     </tr> 
 
     <tr id='2'> 
 
     <td> 
 
      <input type="checkbox" offval="no" value="&nbsp;"> 
 
     </td> 
 
     <td>s</td> 
 
     <td>t</td> 
 
     <td>f</td> 
 
     </tr> 
 
     <tr id='3'> 
 
     <td> 
 
      <input type="checkbox" offval="no" value="&nbsp;"> 
 
     </td> 
 
     <td>s</td> 
 
     <td>t</td> 
 
     <td>f</td> 
 
     </tr> 
 
     <tr id='4'> 
 
     <td> 
 
      <input type="checkbox" offval="no" value="&nbsp;"> 
 
     </td> 
 
     <td>s</td> 
 
     <td>t</td> 
 
     <td>f</td> 
 
     </tr> 
 
     <tr id='5'> 
 
     <td> 
 
      <input type="checkbox" offval="no" value="&nbsp;"> 
 
     </td> 
 
     <td>s</td> 
 
     <td>t</td> 
 
     <td>f</td> 
 
     </tr> 
 
     <tr id='6'> 
 
     <td> 
 
      <input type="checkbox" offval="no" value="&nbsp;"> 
 
     </td> 
 
     <td>s</td> 
 
     <td>t</td> 
 
     <td>f</td> 
 
     </tr> 
 
     <tr id='7'> 
 
     <td> 
 
      <input type="checkbox" offval="no" value="&nbsp;"> 
 
     </td> 
 
     <td>s</td> 
 
     <td>t</td> 
 
     <td>f</td> 
 
     </tr> 
 
</table> 
 

 
<input type="button" id="selectFirstFive" value="select" />

+1

Supponi Se vuoi deselezionare Posso usare .prop ("checked", false); – aniltc

+0

corretto. Puoi usare '.prop (" checked ", false);' –

+0

controlla anche il codice aggiornato. –

4

È possibile utilizzare lt per questo (non dimenticare il selettore :checkbox troppo):

$(":checkbox:lt(5)") 

O se la prestazione è la vostra preoccupazione (e si sta lavorando con grandi liste), è possibile utilizzare il molto più efficiente del slice JavaScript per questo:

$(':checkbox').slice(0, 5) 
+0

ho perso del tempo per creare lo snippet di codice prima di postare :) –

+1

@AlexChar Hehe, buon lavoro con lo snippet :). Non ho ancora appreso da quelle cose. – mattytommo

Problemi correlati