Solved

cant set default option

Posted on 2014-10-08
7
144 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 57

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 57

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
Why Off-Site Backups Are The Only Way To Go

You are probably backing up your data—but how and where? Ransomware is on the rise and there are variants that specifically target backups. Read on to discover why off-site is the way to go.

 

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

The Ultimate Checklist to Optimize Your Website

Websites are getting bigger and complicated by the day. Video, images, custom fonts are all great for showcasing your product/service. But the price to pay in terms of reduced page load times and ultimately, decreased sales, can lead to some difficult decisions about what to cut.

Question has a verified solution.

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

3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
In threads here at EE, each comment has a unique Identifier (ID). It is easy to get the full path for an ID via the right-click context menu. However, we often want to post a short link within a thread rather than the full link. This article shows a…
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

695 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