Получить значение раскрывающегося списка в form_open перед отправкой формы - PullRequest
0 голосов
/ 17 мая 2019

Я тестировал некоторые функции CI. И застрял здесь.

Как получить выбранное значение из выпадающего списка в Codeigniter для передачи в контроллер?

            $options = array(
                ''          => 'Display All',
                '1'         => 'Display English',
                '2'         => 'Display Pashto',
                '3'         => 'Display abc',
                '4'         => 'Display cde',
                '5'         => 'Display efg' );
            $attributes = array(
                'id'    => 'rating',
                'class' => 'form-control'
            );

            echo form_dropdown('rating', $options, 'Display All', $attributes);

            // $key = $this->input->post('rating');
            // $value = $options[$key];

            echo form_open(base_url("lang/display/" . $options)) ;
            echo form_error('rating'); 

Например, если кто-то выберет: Display English из dropdown, поэтому, когда я отправляю форму / нажимаю кнопку, Мой контроллер получит переменную 1 или мой URL будет выглядеть так: ..baseurl../lang/display/1

Любая помощь будет очень признательна.

PS: работает раскрывающийся список без {$options} в echo form_open(base_url("lang/display/" . $options));. Я перепробовал все, но не нашел решения.

EDIT:

Я могу получить значение $options после отправки формы, но я узнал, что мы не можем получить значение $options до отправки формы. Что я действительно хочу, так это значение $options, когда нажимаете кнопку, чтобы показать / добавить его в URL, чтобы я мог скопировать и вставить этот URL в любое место.

1 Ответ

0 голосов
/ 17 мая 2019

Чтобы получить значение данных из dropdown, вам не нужно передавать переменную $options в действие формы.

, если вам нужно отобразить выбранное значение изdropdown.Вы должны сделать это следующим образом.

echo $this->input->post('rating');

поместите это на свою страницу успеха.

Я создаю пример, и я надеюсь, что вам будет полезно понять основы из него.

function drop()
    {
        echo form_open('forms/get_val', 'class="email" id="myform"'); //replace it to your controller name and function name
        $options = array(
                'small'         => 'Small Shirt',
                'med'           => 'Medium Shirt',
                'large'         => 'Large Shirt',
                'xlarge'        => 'Extra Large Shirt',
        ); //setting up an option for dropdown

        $shirts_on_sale = array('small', 'large'); //put this as a 3rd param to set dropdown selected as listed.
        echo form_dropdown('shirts', $options); //you can add it here the $shirt_on_sale

        echo form_submit('mysubmit', 'Submit Post!'); //submit button
    }

function get_val() //success page
{
    echo $this->input->post('shirts'); //display the selected value.
}

у меня есть контроллер с именем Forms Вы можете переименовать его в свой контроллер с именем Lang .

Надеюсь, что поможет ... пустья знаю результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...