Autor | Zpráva | ||
---|---|---|---|
Monkeys Profil * |
#1 · Zasláno: 19. 8. 2013, 15:09:02 · Upravil/a: Monkeys
Vyrobil som si dynamicky zoznam pridavania prvkov cez jQuery.
Vsetko funguje ako ma ale trapi ma skor opakovanie kodu vo funkciach. Nieco podobne som tu nedavno riesil v PHP. Nebudem sem davat cely ajax ale len poslednu cast success. success: function(data){ //ak je pocet li v yoyname mensi ako 4; if(dlzkaUl.length < 4) { addLi(); } else { addUl(); }//end if }//end data sucess function addLi() { lastUl.append('<li class="addCategoryColor">' + box + '</li>'); setTimeout(function(){ $(".volitelnePoliaBox ul li:last").removeClass("addCategoryColor"); }, time); catInp.val(""); }//end li func function addUl() { lastUl.parent().append('<ul><li class="addCategoryColor">' + box + '</li></ul>'); setTimeout(function(){ $(".volitelnePoliaBox ul li:last").removeClass("addCategoryColor"); }, time); catInp.val(""); } Kod robi to ze ak je pocet inputov v zozname vacsi ako 4 tak vytvori novy zoznam <ul> inac pridava do posledneho. Ide mi o tie dve posledne funkcie lisia sa len v slovicku parent() inac robia presne to iste. Chcel by som to vyriesit jednou spolocnou funkciou. Ako by sa to dalo ? vdaka M. Podarilo sa mi to zjednodusit :) function add(par, ul) { par = (par == true) ? lastUl : lastUl.parent(); ul = (ul == false) ? Array("","") : Array("<ul>", "</ul>"); par.append(ul[0] + '<li class="addCategoryColor">' + box + '</li>' + ul[1]); setTimeout(function(){ $(".volitelnePoliaBox ul li:last").removeClass("addCategoryColor"); }, time); catInp.val(""); }//end func a v ajaxe volam striedavo add(false, true); M. |
||
Someone Profil |
#2 · Zasláno: 19. 8. 2013, 15:50:40
Si to hoď do jedné funkce:
success: function(data){ addRecord(dlzkaUl.length); } function addRecord(dlzka) { if(dlzka < 4) { lastUl.append('<li class="addCategoryColor">' + box + '</li>'); } else { lastUl.parent().append('<ul><li class="addCategoryColor">' + box + '</li></ul>'); } setTimeout(function(){ $(".volitelnePoliaBox ul li:last").removeClass("addCategoryColor"); },time); catInp.val(""); } |
||
Časová prodleva: 11 let
|
0