Hi folks,
As part of an app I am validating and repopulating user input from
check boxes. $responses is posted checkbox input, $answers is the
data used to create and recreate the checkboxes.
I am having the darned time figuring out why this works for every
single box in every single group of boxes EXCEPT for the last one.
Given that it does this persistently across sets of data I know I have
an error in my logic buy I can't find it.
I have dumped the data as I iterate over it and it is always exactly
what I expect.
Here is print_r() for each array:
// Here is $answers
Array
(
[0] =Construction
[1] =Healthcare
[2] =Cultural Economy
[3] =Manufacturing
[4] =Transportation
[5] =Oil and Gas
)
// Here is $responses
Array
(
[0] =Construction
[1] =Healthcare
[2] =Cultural Economy
[3] =Manufacturing
[4] =Transportation
[5] =Oil and Gas
)
// I have both methods I have used here:
// METHOD 1
foreach ($answers as $a) {
$iter++;
if ($responses) {
$ckd = (in_array($a, $responses)) ? 'checked' : '';
}
echo " <input type='checkbox' name='answer_" . $iter . "_$this->id'
id='answer_" . $iter . "_$this->id' value='$a' $ckd onClick='setBoxes
$this->id()'$a<br />\n";
}
// so when in_array didn't work I also tried this with the same
results
// METHOD 2
foreach ($answers as $a) {
$iter++;
if ($responses) {
$ckd = '';
foreach ($responses as $r) {
if ($r == $a) {
$ckd = 'checked';
break;
}
}
}echo "$a is a; $ckd is ckd<br>";
echo " <input type='checkbox' name='answer_" . $iter . "_$this->id'
id='answer_" . $iter . "_$this->id' value='$a' $ckd onClick='setBoxes
$this->id()'$a<br />\n";
}
Any thoughts?
TIA!
jg