Solved

cant set default option

Posted on 2014-10-08
7
143 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
7 Comments
 
LVL 56

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 56

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
Guide to Performance: Optimization & Monitoring

Nowadays, monitoring is a mixture of tools, systems, and codes—making it a very complex process. And with this complexity, comes variables for failure. Get DZone’s new Guide to Performance to learn how to proactively find these variables and solve them before a disruption occurs.

 

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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
This article discusses how to implement server side field validation and display customized error messages to the client.
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the benefit of using external CSS files and the relationship between class and ID selectors. Create your external css file by saving it as style.css then set up your style tags: (CODE) Reference the nav tag and set your prop…

726 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