16

I'm trying to add the ID's, which are the $hexcode values from the html span into an array. How do I do this with jQuery? Eventually, I'm going to need to grab these hexcode values and match them to a color index.

<?php
// display every color in the world
$r = 0;
$g = 0;
$b = 0;
$i = 0;
$step = 16;
for($b = 0; $b < 255; $b+=$step ) {
 for($g = 0; $g < 255; $g+=$step) {
 for($r = 0; $r < 255; $r+=$step) {
 $hexcolor = str_pad(dechex($r), 2, "0", STR_PAD_LEFT).str_pad(dechex($g), 2, "0", STR_PAD_LEFT).str_pad(dechex($b), 2, "0", STR_PAD_LEFT);
 echo '<span class="color_cell" id="'.$hexcolor.'" style="width: 5px; height: 5px; background-color:#'.$hexcolor.'; border: 1px dotted;">&nbsp;</span>'
 if($i%256 == 0) {
 echo "<br />";
 }
 $i++;
 }
 }
}
?> 
<script src="jquery-1.6.2.js"></script>
<script type="text/javascript">
var ids = [];
 $(document).ready(function($) { 
 $(".color_cell").bind('click', function() {
 alert('Test');
 //how do i add the ID (which is the $hexcolor into this array ids[]?
 ids.push($(this).attr('id')); 
 });
});

Thanks in advance!

Jamison Dance
20.3k25 gold badges102 silver badges100 bronze badges
asked Aug 9, 2011 at 4:21
2
  • Looks alright to me. What's not working? Commented Aug 9, 2011 at 4:30
  • What problem are you experiencing? What is not working? Commented Aug 9, 2011 at 4:32

2 Answers 2

35

Try this, at the end of the each loop, ids array will contain all the hexcodes.

var ids = [];
 $(document).ready(function($) {
 var $div = $("<div id='hexCodes'></div>").appendTo(document.body), code;
 $(".color_cell").each(function() {
 code = $(this).attr('id');
 ids.push(code);
 $div.append(code + "<br />");
 });
});
answered Aug 9, 2011 at 4:29
Sign up to request clarification or add additional context in comments.

3 Comments

Thanks! What is an easy way to check/print my array?
console.log(ids) if you are in Chrome or Firebug on Firefox will log it to the developer console.
var divnew = document.createElement('div'); for(var i = 0; i < ids.length; i++) { divnew.innerHTML += ids[i] + '<br/>'; } $('body').append(divnew);
3
var ids = [];
 $(document).ready(function($) { 
 $(".color_cell").bind('click', function() {
 alert('Test');
 ids.push(this.id); 
 });
});
answered Aug 9, 2011 at 4:38

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.