Php jqueryui链接选择菜单。单击按钮时窗体将重置

Php jqueryui链接选择菜单。单击按钮时窗体将重置,php,javascript,jquery,jquery-ui,select-menu,Php,Javascript,Jquery,Jquery Ui,Select Menu,我使用链式选择菜单来引导访客回答一些问题。这就像一个符咒,但是,最终用户必须单击一个按钮将所有值发送到PHP脚本。但是,当页面重新加载时(因为按钮将表单发送到同一页面),所有字段都会再次隐藏,这不是我想要的 我想链式选择菜单的显示时,其中的项目是“选定”时,页面重新加载。使用PHP,我只需测试一个字段是否被选中,并将该状态添加到选择菜单。但它们将一直隐藏,直到您再次手动选择所有内容 我认为这只是JS部分的一个小调整。但是我对JS的有限知识让我没有解决方案 来源 由于表单向自身提交,用户选

我使用链式选择菜单来引导访客回答一些问题。这就像一个符咒,但是,最终用户必须单击一个按钮将所有值发送到PHP脚本。但是,当页面重新加载时(因为按钮将表单发送到同一页面),所有字段都会再次隐藏,这不是我想要的

我想链式选择菜单的显示时,其中的项目是“选定”时,页面重新加载。使用PHP,我只需测试一个字段是否被选中,并将该状态添加到选择菜单。但它们将一直隐藏,直到您再次手动选择所有内容

我认为这只是JS部分的一个小调整。但是我对JS的有限知识让我没有解决方案

来源


由于表单向自身提交,用户选择的值将在
$\u GET
$\u POST
中可用(取决于表单的
操作是
GET
还是
POST

最好的方法是使用这些值在相应的
节点上设置
selected
属性

$selectedC1Value = '';
<? if isset($_POST['c1']) { ?>
    $selectedC1Value = $_POST['c1'];
<? } ?>

<select name="c1" id="c1" >
    <option value="" <? if ($selectedC1Value == '') { echo 'selected'; } ?>>
        --
    </option>
    <option value="age" <? if ($selectedC1Value == '') { echo 'selected'; } ?>>
        Age
    </option>
    <option value="education" <? if ($selectedC1Value == '') { echo 'selected'; } ?>>
        Education
    </option>
    <!-- etc -->
</select>
$selectedC1Value='';
$selectedC1Value=$_POST['c1'];
>
年龄

由于表单提交给自身,用户选择的值将在
$\u GET
$\u POST
中可用(取决于表单的
操作是
GET
还是
POST

最好的方法是使用这些值在相应的
节点上设置
selected
属性

$selectedC1Value = '';
<? if isset($_POST['c1']) { ?>
    $selectedC1Value = $_POST['c1'];
<? } ?>

<select name="c1" id="c1" >
    <option value="" <? if ($selectedC1Value == '') { echo 'selected'; } ?>>
        --
    </option>
    <option value="age" <? if ($selectedC1Value == '') { echo 'selected'; } ?>>
        Age
    </option>
    <option value="education" <? if ($selectedC1Value == '') { echo 'selected'; } ?>>
        Education
    </option>
    <!-- etc -->
</select>
$selectedC1Value='';
$selectedC1Value=$_POST['c1'];
>
年龄

是的,我正在使用PHP向选项节点添加“selected”。但是,当页面刷新时(由于表单提交),会出现“选定”选项,但它们不会显示。在这种情况下,您需要做的就是重构JS,以便在页面加载时调用与更改相同的方法。我用
selectmenu
widgets-中的第一个更改了你的小提琴来显示这一点。你必须在页面加载时进行这种显式调用,
selectmenu
不会自动运行你的
change
功能。我已经在多个论坛上发布了这个问题,并尝试了几天(作为JS的新手)。你帮了我很多!谢谢,我接受了答案并投了赞成票。我可以再问一个问题吗?还有一个领域需要展示,我在写这篇文章的时候正在努力,但是我的头脑现在是模糊的。你能看出来吗请退房:再次谢谢!我想我解决了:非常感谢,你帮我省去了一些麻烦。还有一个小问题。。我只想在选择了select name=“map[]”和select name=“mapb[]”时显示该按钮。这可能吗?是的,我正在使用PHP向选项节点添加“selected”。但是,当页面刷新时(由于表单提交),会出现“选定”选项,但它们不会显示。在这种情况下,您需要做的就是重构JS,以便在页面加载时调用与更改相同的方法。我用
selectmenu
widgets-中的第一个更改了你的小提琴来显示这一点。你必须在页面加载时进行这种显式调用,
selectmenu
不会自动运行你的
change
功能。我已经在多个论坛上发布了这个问题,并尝试了几天(作为JS的新手)。你帮了我很多!谢谢,我接受了答案并投了赞成票。我可以再问一个问题吗?还有一个领域需要展示,我在写这篇文章的时候正在努力,但是我的头脑现在是模糊的。你能看出来吗请退房:再次谢谢!我想我解决了:非常感谢,你帮我省去了一些麻烦。还有一个小问题。。我只想在选择了select name=“map[]”和select name=“mapb[]”时显示该按钮。可能吗?