reiniger Posted November 3, 2010 Report Share Posted November 3, 2010 Sveiki. mana funkcija kura nostradā tikai vienu reizi. Šī funkcijas man no false parveido uz true klasi bet taja paša laika no true uz false neparveido. function setTrue(test){ $('#StatusID' + test).removeClass().addClass('False'); alert('id'+ test); } function setFalse(test){ $('#StatusID' + test).removeClass().addClass('True'); alert('id'+ test); } Mēģināju arī removeClass('True') šis ar nepalīdzēja. Kā lai panāk lai visu laiku varetu slēgāt? Quote Link to comment Share on other sites More sharing options...
0 reiniger Posted November 3, 2010 Author Report Share Posted November 3, 2010 Atrisināju. nezinu vai lābākais varinats bet stradā. function setStatus(test){ fds = $('#StatusID' + test).attr('class'); if(fds == 'False') $('#StatusID' + test).toggleClass('True'); $('#StatusID' + test).toggleClass('False'); } Quote Link to comment Share on other sites More sharing options...
0 marcis Posted November 3, 2010 Report Share Posted November 3, 2010 Būtu pieticis ar šo: function setStatus(test){ $("#StatusID"+test).toggleClass("True False"); } P.S. Palasi šito kruto linku http://api.jquery.com/removeClass/ un pievērs uzmanību parametriem Quote Link to comment Share on other sites More sharing options...
0 indoom Posted November 3, 2010 Report Share Posted November 3, 2010 Ja gribi pārbaudīt vai klase eksistē, tad izmanto .hasClass() vai .is() Pamēģini tā function setStatus(test){ var $el = $('#StatusID' + test), count = $el.data('toggle')||0; $el.toggleClass('False') .toggleClass('True', count % 2 === 1) .data('toggle',++count); } Quote Link to comment Share on other sites More sharing options...
0 reiniger Posted November 3, 2010 Author Report Share Posted November 3, 2010 (edited) man dati tiek no datu bazes vilkti ara un tad jau uzreiz es skatos pec ta stausa tad piešķiru klasi. pirmais el <div id='StatusID<?=row['id']?>' class='sTrue' onclick="setStatus(<?=$row['id']?>)"></div> otrais el <div id='StatusID<?=row['id']?>' class='sTrue' onclick="setStatus(<?=$row['id']?>)"></div> trešais el <div id='StatusID<?=row['id']?>' class='sFalse' onclick="setStatus(<?=$row['id']?>)"></div> ceturtais el <div id='StatusID<?=row['id']?>' class='sTrue' onclick="setStatus(<?=$row['id']?>)"></div> marcis rakstija šādu variantu function setStatus(test){ $("#StatusID"+test).toggleClass("sTrue sFalse"); } bet šis nestrādā. Edited November 3, 2010 by reiniger Quote Link to comment Share on other sites More sharing options...
0 Леший Posted November 3, 2010 Report Share Posted November 3, 2010 Case sensitive. Quote Link to comment Share on other sites More sharing options...
0 indoom Posted November 3, 2010 Report Share Posted November 3, 2010 (edited) marcis variants, protams, nestrādās. Dokumentācijā jau rakstīts, ka toggleClass('True False') "togglēs" abas klases vienlaicīgi, nevis pēc kārtas. Ja klases jau ir pieliktas, tad labāks šāds variants function setStatus(test){ var $el = $('#StatusID' + test); $el.toggleClass('False') .toggleClass('True', (function(){return !$el.hasClass('False');})()); } Edited November 3, 2010 by indoom Quote Link to comment Share on other sites More sharing options...
0 reiniger Posted November 3, 2010 Author Report Share Posted November 3, 2010 Paldies Quote Link to comment Share on other sites More sharing options...
Question
reiniger
Sveiki.
mana funkcija kura nostradā tikai vienu reizi. Šī funkcijas man no false parveido uz true klasi bet taja paša laika no true uz false neparveido.
Mēģināju arī removeClass('True') šis ar nepalīdzēja.
Kā lai panāk lai visu laiku varetu slēgāt?
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.