Передайте значение, а не идентификатор из выпадающего списка

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

$tableNames = array_column($tableData, 'TABLE_NAME');
asort($tableNames);
echo form_open('index.php/TableController');
echo form_dropdown('TABLE_NAME', $tableNames);
echo "<br><br>";
echo form_submit("submit1", "Table");
echo form_close();

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

2

Решение

Codeigniter 3.0.4 form_dropdown (имя, параметры)

$options = array(
'small'         => 'Small Shirt',
'med'           => 'Medium Shirt',
'large'         => 'Large Shirt',
'xlarge'        => 'Extra Large Shirt',
);

echo form_dropdown('shirts', $options);

Результат:

<select name="shirts">
<option value="small">Small Shirt</option>
<option value="med">Medium  Shirt</option>
<option value="large">Large Shirt</option>
<option value="xlarge">Extra Large Shirt</option>
</select>

Ref: https://www.codeigniter.com/userguide3/helpers/form_helper.html

0

Другие решения

Ваш вопрос немного неясен. Но отдаст это назад Передайте ваши элементы массива из контроллера для просмотра лучше.

Вы можете попробовать это

Имя файла: Test.php

<?php

class Test extends CI_Controller {

public function index() {

$data['records'] = array(

array(
'id' => 2135,
'value' => 'John',
),

array(
'id' => 3245,
'value' => 'Sally',
),

array(
'id' => 5342,
'value' => 'Jane',

),
array(
'id' => 5623,
'value' => 'Peter',
)

);

$this->load->view('test', $data);
}

public function submit_test() {
var_dump($this->input->post('test'));
exit;
}
}

По вашему мнению

<?php

echo form_open_multipart('index.php/test/submit_test');

$array_items = array_column($records, 'value', 'id');

$s = array(
'class'=> 'form-control'
);

echo form_dropdown('test', $array_items, '', $s);

echo form_submit("submit", "Table");

echo form_close();

?>

Производит

введите описание изображения здесь

0

Это сделало волшебство:

$tableNames = array_combine($tableNames, $tableNames);

Я получил ассоциативный массив с одинаковыми ключами и значениями, поэтому, если я передам его в раскрывающемся списке формы, значение параметра и текст будут одинаковыми.

0
По вопросам рекламы [email protected]