如何存储html下拉列表中的值以在同一页面中使用

时间:2014-04-22 06:29:13

标签: php html

我有这段代码 -

<form method="post" action="generate.php">
    <select name="test" id="Test">
    <?php
       $i=0;
        foreach($testName as $name){
    ?>
       <option value="<?php echo $name;?>"><?php echo $testName[$i];?></option>
    <?php  $i++; } ?>

    </select> 
    <input type="submit" name="submit" value="Generate">
</form>

如何以可以在同一个php页面中使用它的方式存储用户选择的值?

3 个答案:

答案 0 :(得分:1)

使用javascript / jquery将值存储在隐藏字段中,如:

<input type="hidden" name="hidden" id="hidden">

并在select元素上调用onchange事件。

<select name="test" id="Test" onchange="test()">

编写相应的js函数,

<script>
 function test()
 {
  var selectedval=$("#Test").val();    // get selected value
  $("#hidden").val(selectedval);       // set the value of hidden field
 }
</script>

答案 1 :(得分:0)

使用javascript / jquery将值存储在隐藏字段中,如:

<input type="hidden" name="hidden" id="hidden">

编写一些jQuery代码,在下拉列表中为隐藏字段赋值:

<script src="PATH/TO/JQUERY"></script>
<script>
$(function(){
 $("#Test").live("change", function() {
  $("#hidden").val($(this).val());
 });
});
</script>

答案 2 :(得分:0)

您可以设置表单元素的onchange处理程序,以便在选择表单选项时运行javascript。这是一个例子(使用你的代码):

<html>
<head>
</head>
<body>
<select name="test" id="Test" onchange="formChangeFunc(this)">
    <?php
    $i=0;
    foreach($testName as $name)
    {
    ?>
        <option value="<?php echo $name;?>"><?php echo $testName[$i];?></option>
    <?php
    $i++;
    }
    ?>
</select> <input type="submit" name="submit" value="Generate">

</form>

<script>
function formChangeFunc(sel) {
  alert(sel.value);
  document.getElementById('divIdToInsert').innerHtml(sel.value);
}
</script>

<div id="divIdToInsert"></div>

</body>
</html>

当您更改选项时,该示例应该为您提供警报弹出窗口。这也应该将值插入指定的div容器中。