Solved

cant set default option

Posted on 2014-10-08
7
140 Views
Last Modified: 2014-11-01
In cakephp I cant set the selected option on a dropdown list  when i post.
Wjat happens is that I select an option and Post. Then the controller will find the data and go back to the same page but the selected value in the selected list is the the default.

So I should select a date from the list, press button and be redirected to the same page with the selected date. That date should be selected in the select list. The code works but the selected option doesnt stay the same when the page is redirected back to the same page from the controller.

  //controller
if (isset($this->request->data['button1'])) {
                $startdate=$this->request->data['Lesson']['ChooseAPaycycleStartDate'];
                 $enddate=date('Y-m-d',strtotime ( +13 . ' day' , strtotime ( $startdate)));
                 $this->redirect(array('action' => 'lesson_plan',$startdate,$enddate));
              }
/////view

  echo $this->Form->create();
            echo $this->Form->input('ChooseAPaycycleStartDate', array('options' => 
                    array('2014-10-06'=>'06-10-2014' , '2014-10-20'=>'20-10-2014', '2014-11-3'=>'3-11-2014', '2014-01-01'=>'01-01-2014')));
                    //   , 'type' => 'select', 'selected' => 2)));
 
            echo $this->Form->submit('Get Lesson Plans',array('name'=>'button1'));  
            echo $this->Form->end(); 
   

Open in new window

0
Comment
Question by:jagguy
  • 4
  • 2
7 Comments
 
LVL 54

Expert Comment

by:Julian Hansen
ID: 40370080
add

'selected' => '06-10-2014'

Open in new window


To your options array where the date value is the one selected
0
 

Author Comment

by:jagguy
ID: 40370511
Doesnt work as it will reset to the first date  everytime you post .This is tricky

  echo $this->Form->input('ChooseAPaycycleStartDate', array('options' => 
                    array('2014-10-06'=>'06-10-2014' , '2014-10-20'=>'20-10-2014', '2014-11-3'=>'3-11-2014', '2014-01-01'=>'01-01-2014','selected' => '20-10-2014')));
         

Open in new window

0
 
LVL 54

Expert Comment

by:Julian Hansen
ID: 40370607
According to Cake documentation that is the way to do it. Have you tried going into the Cake source and seeing what is happening there?
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 

Author Comment

by:jagguy
ID: 40407675
I have re read the docs over again.
I cant set the select to a variable

Here is a simple example and it doesnt set the selected value to the second option as it always defaults to the 0 option regardless of using strings or the word default.
 
  $avail=array(0 => 'Available', 1 => 'Not Available');
                      $val=1;
                    echo 'Monday :' . $this->Form->input('monavail', array( 'type' => 'select', 'options' => $avail ,'selectedt' => $val ));
0
 

Accepted Solution

by:
jagguy earned 0 total points
ID: 40407695
wait it works when I go out of the page and come back in. I had been refreshing the page which didnt  work with this.
0
 

Author Closing Comment

by:jagguy
ID: 40416975
i found the answer
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

SASS allows you to treat your CSS code in a more OOP way. Let's have a look on how you can structure your code in order for it to be easily maintained and reused.
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question