如何在form.submit之后选择下拉值?

时间:2017-08-11 07:26:20

标签: javascript php jquery html codeigniter

我知道这里有很多这样的话题,但我找不到解决方案。

我的问题是什么:

我有一个包含数据的表格,我可以为每个可以过滤的列提供输入字段。 我在桌子上还有一个下拉菜单。我可以在那里选择不同的值,并使用onchange="this.form.submit()"表自动调整到我选择的值。

问题:

当我在下拉列表中选择一个值然后输入要过滤的内容时,表单会重新加载并且所选值将重置为第一个值。因此无法过滤。 (第一个值除外)

我正在使用CodeIgniter:

查看:

<form method="post" accept-charset="utf-8" action="<?php echo site_url("workpackage"); ?>">

           <?php echo form_dropdown('wptypes', $wptypes, set_value('wptypes'), 'id="wptypes" class="form-select" onchange="this.form.submit()"'); ?>

        </form>

控制器:

$search = $this->input->post('wptypes');
    if (empty($search)) {
        $search = 1;
    }

在该代码之后,我有一个函数,我将值$search以及任何过滤器值作为参数传递给模型。

那么如何保留所选值,可以过滤每个下拉值?

谢谢!

3 个答案:

答案 0 :(得分:1)

将您的页面另存为.php扩展名

<?php
if($parity == "none")
{
$sel1="SELECTED";
}
if($parity == "even")
{
$sel2="SELECTED";
}
?>
<html>
<body>
<form method="get" action="(page name)">
<select name="parity">                                                         
<option value="none" <?php echo $sel1 ?>>None</option>                       
<option value="even" <?php echo $sel2 ?>>Even</option>                                         
</select> 
<input type="submit"    name="submit" value="Apply" accesskey="a" />  
</form>
</body>
</html>

答案 1 :(得分:1)

解决方案:

我需要将Controller更改为:

if ($this->input->post('wptypes')) {
    $this->session->set_userdata('wptypes', $this->input->post('wptypes'));
    }
    $search = $this->session->userdata('wptypes');
    $data["selval"] = $search;

和我的观点:

<form method="post" accept-charset="utf-8" action="<?php echo site_url("workpackage"); ?>">
            <?php $wptypesField = (isset($_POST['wptypes'])?$_POST['wptypes']:set_value('wptypes')); ?>
            <?php echo form_dropdown('wptypes', $wptypes, set_value('wptypes', $selval), 'id="wptypes" class="form-select" onchange="this.form.submit()"'); ?>
        </form>

谢谢穆罕默德!

答案 2 :(得分:0)

更新您的观看部分,

<form method="post" accept-charset="utf-8" action="<?php echo site_url("workpackage"); ?>">
 <?php $wptypesField = (isset($_POST['wptypes'])?$_POST['wptypes']:set_value('wptypes')); ?>
    <?php echo form_dropdown('wptypes', $wptypes, $wptypesField, 'id="wptypes" class="form-select" onchange="this.form.submit()"'); ?>
</form>