[support] Tableselect in forms issue
Kamal Palei
palei.kamal at gmail.com
Fri Sep 14 00:42:16 UTC 2012
Hi All
Thanks a lot for the input.
I am little bit confused with* $index *stuff. When I add tableselect
element, I use the key "*['category_boundary']['category_fieldset']['catg']*"
. Somewhere deep in form code, for every row's checkbox, what index is
used by form.inc I really do not know. So instead of *$index* what I should
use, I am not sure.
Tried to debug more. When I am trying to add rows (means *none* of the rows
were selected), if I print the array using dpm(), I get below output.
... (*Array, 4 elements*)
- 0 (*Integer*) *0*
- 1 (*Integer*) *0*
- 2 (*Integer*) *0*
- 3 (*Integer*) *0*
When I am tying to delete rows (means one or more rows were selected, in
this particular case I had selected rows 2, 3 and 4), if I print the array *
$form_state['values']['category_boundary']['category_fieldset']['catg'] * using
dpm(), I get below output,
... (*Array, 4 elements*)
- 1 (*String, 1 characters *) *1*
- 2 (*String, 1 characters *) *2*
- 3 (*String, 1 characters *) *3*
- 0 (*Integer*) *0*
Thats the reason, thought of taking *$index* as key where $index can be one
of 0,1,2,3.
Using the logic mentioned in my first email, I will be able to delete the
rows 2, 3 and 4.
But the problem is if I try to delete the 1st row it does not get deleted.
I tried to print the array, it looks as below.
... (*Array, 4 elements*)
- 0 (*String, 1 characters *) *0*
- 1 (*Integer*) *0*
- 2 (*Integer*) *0*
- 3 (*Integer*) *0*
Since irrespective of fact, 0th row is selected or not, always value is 0.
Thats the reason, why logic
(*if($form_state['values']['category_boundary']['category_fieldset']['catg'][$index]
> 0) *) does not work.
But from above prints, one thing is clear while I have selected 0th
row, 0th element is
0 (*String, 1 characters *) *0* and when 0th row is not selected, it looks
as 0 (*Integer*) *0* , (please note the difference here) hence, there
should be someway to determine if 0th row is selected or not. I am not a
PHP expert , so probably missing something here.
Can somebody kindly help here, how do I determine if the 0th row is
selected or not.
Best Regards
Kamal
Net Cloud Systems, Bangalore
On Thu, Sep 13, 2012 at 11:35 PM, Metzler, David <metzlerd at evergreen.edu>wrote:
> **
>
> Wow I can’t believe I didn’t catch that either. Good eye! ****
>
> ** **
> ------------------------------
>
> *From:* support-bounces at drupal.org [mailto:support-bounces at drupal.org] *On
> Behalf Of *Anthony
> *Sent:* Thursday, September 13, 2012 10:01 AM
> *To:* **support at drupal.org**
> *Subject:* Re: [support] Tableselect in forms issue****
>
> ** **
>
> Shouldn't it be greater equal zero to get the first element?
>
> ****
>
> On Thu, Sep 13, 2012 at 8:13 AM, Metzler, David <metzlerd at evergreen.edu>
> wrote:****
>
> Seems like it should work provided you really meant $index to be $key.
> That’s not in your real code, right? If it is in your cod that way, that’s
> the bug. ****
>
> ****
> ------------------------------
>
> *From:* support-bounces at drupal.org [mailto:support-bounces at drupal.org] *On
> Behalf Of *Kamal Palei
> *Sent:* Thursday, September 13, 2012 5:32 AM
> *To:* support at drupal.org
> *Subject:* [support] Tableselect in forms issue****
>
> ****
>
> Hi All****
>
> I am trying to use tableselect in forms as per below code.****
>
> ****
>
> * $form['category_boundary']['category_fieldset']['catg'] = array
> (
> '#type' => 'tableselect',
> '#header' => $header,
> '#options' => $options,
> '#multiple' => TRUE,
> '#js_select' => FALSE,
> );*****
>
> By manipulating options array, I can add the rows in forms table.****
>
> ****
>
> Sometimes I need to remove the selected rows from form table.****
>
> My question is, how can I determine if a particular row is selected.****
>
> ****
>
> Currently using below code to determine which row is selected.****
>
> ****
>
> *
> foreach($form_state['values']['category_boundary']['category_fieldset']['catg']
> as $key => $value)
> {
>
> if($form_state['values']['category_boundary']['category_fieldset']['catg'][$index]
> > 0)
> {
> //row is selected.
> }
> else
> {
> //row is not selected.
> }
> }*****
>
> ****
>
> I can determine all the rows if those are selected or not except the 0th
> row.****
>
> Can somebody tell me, what is the RIGHT way to determine if a particular
> row in a table is selected or not.****
>
> ****
>
> Best Regards****
>
> Kamal****
>
> ****
>
> ****
>
> ****
>
> ****
>
> ****
>
> ****
>
> ****
>
> ****
>
> ****
>
>
> --
> [ Drupal support list | http://lists.drupal.org/ ]****
>
>
>
>
> -- ****
>
> *Anthony Stefan Maciejowski*****
>
> ** **
>
> ** **
>
> --
> [ Drupal support list | http://lists.drupal.org/ ]
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/support/attachments/20120914/09acbd22/attachment-0001.html
More information about the support
mailing list