我正在尝试将选定的下拉列表值传递给另一个表单。
表单1 :
<form role="form" action="form2.php" method="get">
<div class="form-group select one-third">
<label>destination</label>
<select name="destination">
<option selected> 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> 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?
提前致谢。
答案 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> 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> 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> 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> 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())
});
});