Ci stavamo ragionando insieme ad un mio amico fino ad un'ora fa e siamo arrivati a questo punto.
Appi pazienza se posto il codice ma non sapevo dove uppare il file.codice:<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>jquery box</title> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(function(){ var quanti = 4; // quanti checkbox abilitare (tranne quello selezionato!) var quanti_primadopo = quanti / 2; var selezionati = 0; $(".box").each(function(i){ $(this).live('click', function(){ if($('input:checkbox').is(':checked') && selezionati<1){ selezionati++ $('input:checkbox').not(':checked').attr("disabled",true) // disabilita tutti i checkbox $(this).removeAttr("disabled") // abilita il checkbox corrente // scorre i precedenti overflow = 0; curcheck = $(this); for (k=0; k < quanti_primadopo; k++){ curcheck = curcheck.prev(); if (curcheck.length) curcheck.removeAttr("disabled"); else overflow++; } // scorre i successivi overflow2 = 0; curcheck = $(this); for (k=0; k < quanti_primadopo + overflow; k++){ curcheck = curcheck.next(); if (curcheck.length) curcheck.removeAttr("disabled") else overflow2++; } if (overflow2){ // scorre nuovamente i precedenti overflow = 0; curcheck = $(this); for (k=0; k < quanti_primadopo + overflow2; k++){ curcheck = curcheck.prev(); if (curcheck.length) curcheck.removeAttr("disabled"); else overflow++; } } }else if($('input:checkbox:checked').length==0){ $('input:checkbox').removeAttr("disabled") // abilita tutti i checkbox selezionati=0 } }) }) }); </script> </head> <body> 1<input name="uno" class="box" id="uno" type="checkbox" value=""> 2<input class="box" name="due" id="due" type="checkbox" value=""> 3<input class="box" name="tre" id="tre" type="checkbox" value=""> 4<input class="box" name="quattro" id="quattro" type="checkbox" value=""> 5<input class="box" name="cinque" id="cinque" type="checkbox" value=""> 6<input class="box" name="sei" id="sei" type="checkbox" value=""> 7<input class="box" name="sette" id="sette" type="checkbox" value=""> 8<input class="box" name="otto" id="otto" type="checkbox" value=""> 9<input class="box" name="nove" id="nove" type="checkbox" value=""> </body> </html>
In pratica è come il tuo "Versione box adiacenti, ma il primo e l'ultimo si possono spuntare 2 e 3 o 5 e 6 "
Lo posto qua per far vedere implementazioni diverse risultati uguali.
Grazie!!!!
p.s.
Visto che è stimolante come problema oggi abbiamo trovato un'altra piccola aggiunta da inserire che sarebbe proprio la ciliegina sulla torta.
I box selezionati non devono avere vuoti gli uni rispetto agli altri.
Cioè alla fine non posso avere selezionato 1, 3, 4, 5 saltando il 2 (è un esempio per far capire).
Noi ci ragioniamo, vediamo che viene fuori![]()


Rispondi quotando