【发布时间】:2015-09-15 06:07:52
【问题描述】:
不工作 :- 从下拉列表中选择值后提交后,下次不会显示任何值。
工作 :- 但最后选择的值保存在会话中。如果页面被刷新,会话值显示为下拉列表中的选择。
工作:- 提交任何关键字后,下拉列表中的值必须显示。
请给我解决方案以使第一个工作正常。 我已经使用 POST 完成了。
这是我的代码:-
<?php
session_start();
$selected='';
$offer_type_selected='';
function get_options($select)
{
$incent_type=array('All'=>'none','Incent'=>'Incent','Non-Incent'=>'Non-Incent');
$options='';
while(list($k,$v)=each($incent_type))
{
if($select==$v)
{
$options.='<option value="'.$v.'" selected>'.$k.'</option>';
}
else
{
$options.='<option value="'.$v.'">'.$k.'</option>';
}
}
return $options;
}
if(isset($_POST['incent_type']))
{
$selected=$_POST['incent_type'];
echo $selected;
$_SESSION['incent_type']=$selected;
}
?>
<body link="white">
<div class="container">
<div class="content" >
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
<div class="label_div">Type a keyword :</div>
<div class="input_container">
<input type="text" name="subquery" id="name_id" onkeyup="autocomplet()">
<ul id="name_list_id"></ul>
</div>
<div class="lable_div" >
<input type="submit" class="submit_query" name="submit_id" value="Submit Query" >
Select Incent Type :<select class="custom-dropdown" name="incent_type" onchange="this.form.submit();">
<?php
$flag=0;
if(isset($_POST['subquery']))
{
if(strcmp("",$_POST['subquery'])!=0)
{
unset($_SESSION['incent_type']);
unset($_SESSION['offers_type']);
echo get_options('none');
$flag=1;
}
}
else if(isset($_SESSION['incent_type']) && $flag==0)
echo get_options($_SESSION['incent_type']);
else if($flag==0)
echo get_options('none');
?>
</select>
</div>
</form>
</div>
</div>
【问题讨论】:
-
你需要 multiple> 和一个数组 "incent_type[]" 示例:
<select class="custom-dropdown" name="incent_type[]" multiple>。我确定你知道如何从数组中获取值:注意$selected=$_POST['incent_type'];... $selected 现在是一个数组。 -
不工作。我在这里读了一百遍。 : 阅读基础知识。这里有一个答案multiple-selected-values
标签: javascript php html session post