rafinos Δημοσ. 4 Δεκεμβρίου 2014 Δημοσ. 4 Δεκεμβρίου 2014 Γεια σας παιδιά! Θέλω να χρησιμοποιήσω την jscolor αλλά αντιμετωπίζω το εξής πρόβλημα Το/τα πεδία που θα έχουν την κλαση "color" δεν υπάρχουν εξαρχής και τα δημιουργώ δυναμικά μέσω ενός κουμπιού (javascript) με αποτέλεσμα να δουλεύουν ως απλά textboxes και όχι ως color picker. Καταλάβατε τι εννοώ; Αν ναι μπορεί κάποιος να με βοηθήσει;
rafinos Δημοσ. 4 Δεκεμβρίου 2014 Μέλος Δημοσ. 4 Δεκεμβρίου 2014 (επεξεργασμένο) Πριν μου δώσεις αυτή την απάντηση είχα προσθέσει στον κώδικα αυτό new jscolor.color($('.color'), {}); αλλά δεν είδα διαφορά... ορίστε και ο κώδικας δημιουργίας των inputs error στο console "TypeError: valueElement.setAttribute is not a function" μέσα στο jscolor.js $("#set_perc").click(function(){ var x = parseInt($("#num_of_colors").val()); if(x > 1){ var div_percents = "<table>"; for(var i=0; i<x; i++){ if((i+1)===1){ //το input με το προκαθορισμένο χρώμα div_percents += "<tr><td>"+ (i+1) + ". Ποσοστό: από <input type='text' disabled='disabled' class='a' value='0.00'/>% έως:<input type='text' id='textbox"+(i+1)+"' class='percents' name='percents[]' />% </td><td> Χρώμα: <input type='text' class='colors color {hash:true}' name='colors[]' value='#000000' disabled='disabled' /></td></tr>"; }else if((i+1)===x){ //το τελευταίο input div_percents += "<tr><td>"+ (i+1) + ". Ποσοστό: από <input type='text' disabled='disabled' id='d_textbox"+(i)+"' />% </td><td> Χρώμα: <input type='text' class='colors color {hash:true}' name='colors[]' /></td></tr>"; }else{ //όλα τα υπόλοιπα μεταξύ του πρώτου και του τελευταίου div_percents += "<tr><td>"+ (i+1) + ". Ποσοστό: από <input type='text' disabled='disabled' id='d_textbox"+(i)+"' />% έως:<input type='text' id='textbox"+(i+1)+"' class='percents' name='percents[]' />% </td><td> Χρώμα: <input type='text' class='colors color {hash:true}' name='colors[]' /></td></tr>"; } } div_percents += "</table>"; $("#percents").html(div_percents); new jscolor.color($('.color'), {}); return false; }else{ alert("Το πλήθος πρέπει να έιναι μεγαλύτερο του 1"); return false; } }); *********Δούλεψε! Άλλαξα το new jscolor.color($('.color'), {}); σε jscolor.init(); και έγινε αυτό που έπρεπε Το πρόβλημα είναι ότι δεν καταλαβαίνω από που και ως που init()... περιέχεται μέσα στην jscolor; Επεξ/σία 4 Δεκεμβρίου 2014 από rafinos
rafinos Δημοσ. 5 Δεκεμβρίου 2014 Μέλος Δημοσ. 5 Δεκεμβρίου 2014 κανε new μετα την προσθηκη του element. Βγάζει ακριβώς το ίδιο error Τα elements δημιουργούνται εδώ $("#percents").html(div_percents); άρα το new είναι στη σωστή θέση. To θέμα είναι ότι δούλεψε με την init() όπως προανέφερα απλά δε βρήκα κάπου στο documentation της jscolor να υπάρχει init()... το βρήκα ως απάντηση στο stackoverflow.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα