【发布时间】:2016-09-19 13:36:48
【问题描述】:
我使用 jquery 选项卡有多步表单,每个步骤或选项卡都有不同的表单 与行动 (action='reg.php#tabs-1') 等等.. 到最后。 每个选项卡中还有 Save 按钮,可以记住 SESSION 中的选定值。
tab1:有两个值的选择输入,例如(option1,option2)
tab2:有复选框,根据 tab1 中的选定部分(option1 或 option2)显示(如果在 tab1 中选择了 option1,则在 tab2 中显示 name='a' 和 name='b' 的复选框,或者如果选择了 option2在 tab1 中,然后在 tab2 中显示 name='x' 和 name='z' 的复选框)
在 SESSIONS 的 tab2 中按下 Save 按钮后,我也记住了这些值。
问题是:当我勾选 tab2 中的一个复选框,保存它们,然后返回 tab1,更改选择以外的任何值并单击 tab1 中的保存时,我在 tab2 中选中的复选框值变为未选中
但我希望他们被检查
php:
<?php session_start(); if (!empty($_SESSION['animal'])){if($_SESSION['animal']=='1'){$selected1='selected';$selected2='';} else {$selected2='selected';$selected1='';}}if (!empty($_POST['animal'])){if ($_POST['animal']=='1'){$selected1='selected';$selected2='';$_SESSION['animal']=$_POST['animal'];}else {$selected2='selected';$selected1='';$_SESSION['animal']=$_POST['animal'];}} if ($_POST['a']=='dog'){$_SESSION['a']=$_POST['a'];$checked1='checked';} else { $checked1='';unset ($_SESSION['a']);}if ($_POST['z']=='horse'){ $_SESSION['z']=$_POST['z']; $checked2='checked';} else {$checked2='';unset ($_SESSION['z']);}?>
脚本:
$(function() {$( "#tabs" ).tabs();});
html:
<script src="js/jquery.js"></script><link rel="stylesheet" href="js/jquery.custom/jquery-ui.css"><script type="text/javascript" src="js/jquery.custom/jquery-ui.min.js"></script><div id="tabs">
<ul>
<li><a id="step1" href="#tabs-1">step 1</a></li>
<li><a id="step2" href="#tabs-2" >step 2</a></li>
</ul>
<div id="tabs-1">
<form method='post' name='field1' id='field1' action='ureg4.php#tabs-1' >
<select name='animal' value='<?php echo $_SESSION['animal']?>'>
<option value='1' <?php echo $selected1?>>option one</option>
<option value='2' <?php echo $selected2?>>option two</option>
</select>
<input type='submit' name='submit' value='save'>
</form>
</div>
<div id="tabs-2">
<form method='post' name='field2' id='field2' action='ureg4.php#tabs-2' >
<?php
if ($_SESSION['animal']==1){echo "<input type='checkbox' name='a' value='dog' id='a'".$checked1." /><label for='a'><span class='icon'></span>Dog</label><br>";}
if ($_SESSION['animal']==2){echo "<input type='checkbox' name='z' value='horse' id='z' ".$checked2." /><label for='z'><span class='icon'></span>horse</label><br>";}
?>
<input type='submit' name='submit' value='save'>
</form>
</div>
</div>
【问题讨论】:
-
欢迎使用 Stackoverflow - 请您使用相关代码编辑您的问题
标签: php