Javascript 提交表单后保留下拉列表值
动态创建下拉框,并通过javascript数组添加选项,我希望在提交表单后保留这些值。比如说,如果我选择“OOR”和“2”,那么在提交表单后,我希望在这些下拉列表中看到这些值 谢谢Javascript 提交表单后保留下拉列表值,javascript,jquery,html,internet-explorer,coldfusion,Javascript,Jquery,Html,Internet Explorer,Coldfusion,动态创建下拉框,并通过javascript数组添加选项,我希望在提交表单后保留这些值。比如说,如果我选择“OOR”和“2”,那么在提交表单后,我希望在这些下拉列表中看到这些值 谢谢 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> <script language="javascript"> OORs=new Array(
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script language="javascript">
OORs=new Array("1","2","3","4");
NoOORs=new Array("A","B","C");
populateSelect();
$(function() {
$('#fenv').change(function(){
populateSelect();
});
});
function populateSelect(){
fenv=$('#fenv').val();
$('#market').html('');
if(fenv=='OOR'){
$.each(OORs,function(index,t) {
$("#market").append("<option value='"+t+"'>" +t+ "</option>");
});
}
else {
$.each(NoOORs,function(index,t) {
$("#market").append("<option value='"+t+"'>" +t+ "</option>");
});
}
}
</script>
<form>
<select id="fenv" NAME="fenv">
<option value="OOR2">OOR2</option>
<option value="OOR">OOR</option>
</select>
<select id="market" name="market"></select>
<input type="submit" name="submit" value="submit" >
</form>
OORs=新数组(“1”、“2”、“3”、“4”);
NOORS=新数组(“A”、“B”、“C”);
populateSelect();
$(函数(){
$('#fenv').change(function(){
populateSelect();
});
});
函数populateSelect(){
fenv=$('#fenv').val();
$(“#市场”).html(“”);
如果(fenv=='OOR'){
$。每个(OOR,函数(索引,t){
美元(“#市场”)。追加(“+t+”);
});
}
否则{
$.each(NoOORs,function(index,t){
美元(“#市场”)。追加(“+t+”);
});
}
}
OOR2
奥尔
要持久保存某些数据,需要使用php会话或post
对于第一个选择,它应该很容易:
<select id="fenv" NAME="fenv">
<option value="OOR2" <?php if($_POST["fenv"]=="OOR2") echo "selected";?>>OOR2</option>
<option value="OOR" <?php if($_POST["fenv"]=="OOR") echo "selected";?>>OOR</option>
</select>
>奥尔
因为第二部分是比较复杂的。您可以使用javascript将其设置为propper值:
var element = document.getElementById('market');
element.value = "<?php echo(isset($_POST['market'])&&($_POST['market']!='')?$_POST['market']:'');?>";
var-element=document.getElementById('market');
element.value=“”;
要持久保存某些数据,需要使用php会话或post
对于第一个选择,它应该很容易:
<select id="fenv" NAME="fenv">
<option value="OOR2" <?php if($_POST["fenv"]=="OOR2") echo "selected";?>>OOR2</option>
<option value="OOR" <?php if($_POST["fenv"]=="OOR") echo "selected";?>>OOR</option>
</select>
>奥尔
因为第二部分是比较复杂的。您可以使用javascript将其设置为propper值:
var element = document.getElementById('market');
element.value = "<?php echo(isset($_POST['market'])&&($_POST['market']!='')?$_POST['market']:'');?>";
var-element=document.getElementById('market');
element.value=“”;
您可以使用隐藏字段在表单提交后保存数据。这样地:
OORs=新数组(“1”、“2”、“3”、“4”);
NOORS=新数组(“A”、“B”、“C”);
populateSelect();
$(函数(){
$('#fenv').change(function(){
populateSelect();
});
});
函数populateSelect(){
fenv=$('#fenv').val();
市场价值=[];
$(“#市场”).html(“”);
如果(fenv=='OOR'){
$。每个(OOR,函数(索引,t){
美元(“#市场”)。追加(“+t+”);
市场价值。推(t);
});
}
否则{
$.each(NoOORs,function(index,t){
美元(“#市场”)。追加(“+t+”);
市场价值。推(t);
});
}
$(“#marketvalues”).val(marketvalues.join(“,”);
}
OOR2
奥尔
#mv#
您可以使用隐藏字段在表单提交后保存数据。这样地:
OORs=新数组(“1”、“2”、“3”、“4”);
NOORS=新数组(“A”、“B”、“C”);
populateSelect();
$(函数(){
$('#fenv').change(function(){
populateSelect();
});
});
函数populateSelect(){
fenv=$('#fenv').val();
市场价值=[];
$(“#市场”).html(“”);
如果(fenv=='OOR'){
$。每个(OOR,函数(索引,t){
美元(“#市场”)。追加(“+t+”);
市场价值。推(t);
});
}
否则{
$.each(NoOORs,function(index,t){
美元(“#市场”)。追加(“+t+”);
市场价值。推(t);
});
}
$(“#marketvalues”).val(marketvalues.join(“,”);
}
OOR2
奥尔
#mv#
这很容易做到
提交表单(仅限于同一页面)后,可以在CF中检查提交条件,并运行JavaScript函数以获取提交的值
OOR2
奥尔
var OORs=[“1”、“2”、“3”、“4”],//声明OORs
NoOORs=[“A”、“B”、“C”],//NoOORs
fenvRef=$('#fenv'),//使用jQuery创建ref一次,因此我们不需要一次又一次地执行DOM查询
marketRef=$(“#市场”),//市场相同
populateSelect=函数(){
var fenv=fenvRef.val(),
市场价值=[];
marketRef.html(“”);
如果('OOR'==fenv){
$。每个(OOR,函数(索引,t){
marketRef.append(“+t+”);
市场价值。推(t);
});
}否则{
$.each(NoOORs,function(index,t){
marketRef.append(“+t+”);
市场价值。推(t);
});
}
},
afterFormSubmitSetSelectedValues=函数(fenv,market){//重新加载后,此Fn()将设置所选值
fenvRef.val(fenv);
如果('OOR'==fenv){
populateSelect();
}
marketRef.val(市场);
};
$(函数(){
fenvRef.change(函数(){
populateSelect();
});
});
//这将填充初始值
populateSelect();
//仅在以前提交表单时执行
在FormSubmitSetSelectedValues(“#form.fenv”、“form.market”)之后;
OOR2
奥尔
var OORs=[“1”、“2”、“3”、“4”],//声明