从下拉列表中传递值而不是 id
Pass value and not id from dropdown list
如何传递下拉列表中的确切文本,而不是它的值。
我正在使用 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();
这会导致传递 selected 项目的 ID,而不是文本。
我不想通过 id 再次传递整个数组和 select 文本,我只想将文本传递到我的控制器。
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>
参考:https://www.codeigniter.com/userguide3/helpers/form_helper.html
你的问题有点不清楚。但是会在之前给它把你的数组项从控制器传递到视图更好。
你可以试试这个
文件名: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();
?>
生产
这很神奇:
$tableNames = array_combine($tableNames, $tableNames);
我得到了键和值相同的关联数组,所以如果我将它传递给表单下拉列表,选项值和文本都将相同。
如何传递下拉列表中的确切文本,而不是它的值。 我正在使用 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();
这会导致传递 selected 项目的 ID,而不是文本。 我不想通过 id 再次传递整个数组和 select 文本,我只想将文本传递到我的控制器。
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>
参考:https://www.codeigniter.com/userguide3/helpers/form_helper.html
你的问题有点不清楚。但是会在之前给它把你的数组项从控制器传递到视图更好。
你可以试试这个
文件名: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();
?>
生产
这很神奇:
$tableNames = array_combine($tableNames, $tableNames);
我得到了键和值相同的关联数组,所以如果我将它传递给表单下拉列表,选项值和文本都将相同。