简体   繁体   English

如何将选择/下拉值传递给表格2?

[英]How to pass select/dropdown value to form 2?

I'm trying to pass the selected dropdown value to another form. 我正在尝试将所选的下拉值传递给另一种形式。

Form 1 : 表格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>

Form 2 : 表格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>

I tried with value="<?php echo $_GET['vertrek']; ?>" but this doesn't work. 我尝试使用value="<?php echo $_GET['vertrek']; ?>"但这不起作用。 Can I do it without using jquery? 我可以不使用jquery来做到吗? How can I pass the selected dropdown value to form 2? 如何将选定的下拉值传递给表格2?

Thanks in advance. 提前致谢。

To pre-select an option in dropdown you can use 要在下拉菜单中预先选择一个选项,您可以使用

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

This will check whether the selected value (from form one) matches with the value of an option, if yes, that option will be selected. 这将检查所选值(从表格一)是否与选项的值匹配,如果是,则将选择该选项。

Form1.php 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>

Form 2.php 表格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>

First You remove the slash from <select/> in form 2 首先,您从表格2中的<select/>删除斜杠

then it's not working, just try it, 那就不行了,试试看吧

Form.php 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 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>

This will help to achieve what you want!! 这将有助于实现您想要的!!

With jQuery (client side): 使用jQuery(客户端):

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

Demo 演示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM