Javascript 提交表单后保留下拉列表值

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(

动态创建下拉框,并通过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("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函数以获取提交的值

  • 提交表格
  • fn populateSelect()填充选择框
  • CFIF检查页面加载是否为表单提交
  • 在提交选定值(fenv,市场)值后运行fn

    
    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”)之后;
    
  • 祝你好运

    这很容易做到

    提交表单(仅限于同一页面)后,可以在CF中检查提交条件,并运行JavaScript函数以获取提交的值

  • 提交表格
  • fn populateSelect()填充选择框
  • CFIF检查页面加载是否为表单提交
  • 在提交选定值(fenv,市场)值后运行fn

    
    OOR2
    奥尔
    var OORs=[“1”、“2”、“3”、“4”],//声明