如何将select / dropdown值传递给表单2?

时间:2015-06-27 04:14:45

标签: javascript php jquery

我正在尝试将选定的下拉列表值传递给另一个表单。

表单1

<form role="form" action="form2.php" method="get">
    <div class="form-group select one-third">
        <label>destination</label>
        <select name="destination">
            <option selected>&nbsp; Choose a destination</option>
            <optgroup label="Country 1">
            <option value="Des 1">Des 1</option>
            <option value="Des 2">Des 2</option>
            </optgroup>
            <optgroup label="Country 2">
            <option value="Des 3">Des 3</option>
            <option value="Des 4">Des 4</option>
            </optgroup>
        </select>
    </div>
</form>

表格2

<form role="form">
    <div class="form-group select one-third">
        <label>destination</label>
        <select name="destination"/>
            <option selected>&nbsp; Choose a destination</option>
            <optgroup label="Country 1">
            <option value="Des 1">Des 1</option>
            <option value="Des 2">Des 2</option>
            </optgroup>
            <optgroup label="Country 2">
            <option value="Des 3">Des 3</option>
            <option value="Des 4">Des 4</option>
            </optgroup>
        </select>
    </div>
</form>

我尝试使用value="<?php echo $_GET['vertrek']; ?>",但这不起作用。我可以不使用jquery吗?如何将选定的下拉值传递给表单2?

提前致谢。

3 个答案:

答案 0 :(得分:2)

要预先选择下拉菜单中的选项,您可以使用

<option value='the_value' <?php ($_GET['destination']=='the_value')?"selected":""?> >Text to be displayed</option>

这将检查所选值(来自表单1)是否与选项的值匹配,如果是,则将选择该选项。

<强> Form1.php

<form role="form" action="form2.php" method="get">
    <div class="form-group select one-third">
        <label>destination</label>
        <select name="destination">
            <option selected>&nbsp; Choose a destination</option>
            <optgroup label="Country 1">
            <option value="Des 1">Des 1</option>
            <option value="Des 2">Des 2</option>
            </optgroup>
            <optgroup label="Country 2">
            <option value="Des 3">Des 3</option>
            <option value="Des 4">Des 4</option>
            </optgroup>
        </select>
    </div>
<div><input type='submit' value='Submit'/></div>
</form>

表单2.php

<?php 
$selected_option = "";
if(isset($_GET) && !empty($_GET)){
    $selected_option = $_GET['destination'];
}
?>
<form role="form">
    <div class="form-group select one-third">
        <label>destination</label>
        <select name="destination"> <1-- removed a back slash here -->
            <option selected>&nbsp; Choose a destination</option>
            <optgroup label="Country 1">
            <option value="Des 1" <?php echo ($selected_option =='Des 1')?"Selected":"";?>>Des 1</option>
            <option value="Des 2" <?php echo ($selected_option =='Des 2')?"Selected":"";?>>Des 2</option>
            </optgroup>
            <optgroup label="Country 2">
            <option value="Des 3" <?php echo ($selected_option =='Des 3')?"Selected":"";?>>Des 3</option>
            <option value="Des 4" <?php echo ($selected_option =='Des 4')?"Selected":"";?>>Des 4</option>
            </optgroup>
        </select>
    </div>
</form>

答案 1 :(得分:2)

首先从表单2中的<select/>中删除斜杠

然后它不起作用,只是尝试一下,

<强> form.php的

<form role="form" action="form1.php" method="get">
    <div class="form-group select one-third">
        <label>destination</label>
        <select name="destination">
            <option selected>&nbsp; Choose a destination</option>
            <optgroup label="Country 1">
            <option value="Des 1">Des 1</option>
            <option value="Des 2">Des 2</option>
            </optgroup>
            <optgroup label="Country 2">
            <option value="Des 3">Des 3</option>
            <option value="Des 4">Des 4</option>
            </optgroup>
        </select>
    </div>
    <input type="submit" value="submit"/>
</form>

<强> form1.php

<?php 
$des = '';
if(isset($_GET['destination'])){ $des = $_GET['destination'];
} ?>
<form role="form" action="form2.php" method="get">
    <div class="form-group select one-third">
        <label>destination</label>
        <select name="destination">
            <option>&nbsp; Choose a destination</option>
            <optgroup label="Country 1">
            <option value="Des 1" <?php if($des == "Des 1"){ echo "selected";} ?>>Des 1</option>
            <option value="Des 2" <?php if($des == "Des 2"){ echo "selected";} ?>>Des 2</option>
            </optgroup>
            <optgroup label="Country 2">
            <option value="Des 3" <?php if($des == "Des 3"){ echo "selected";} ?>>Des 3</option>
            <option value="Des 4" <?php if($des == "Des 4"){ echo "selected";} ?>>Des 4</option>
            </optgroup>
        </select>
    </div>
</form>

这将有助于实现您想要的效果!!

答案 2 :(得分:1)

使用jQuery(客户端):

$(document).ready(function(){
    $("#form1 [name='destination']").change(function(){
        $("#form2 [name='destination']").val($(this).val())
    });
});

Demo

相关问题