0

我正在使用 PHP 动态生成多个<select>字段,每个字段下面有两个<div>s。自动选择一个选项,并且<div>PHP 根据初始条件自动显示/隐藏 s,但是除了在禁用或启用表单字段中创建表单字段之外,我如何<div>根据更改动态切换显示/隐藏?<select>div

对于某些背景,我在页面上显示了所有可以使用的信息,但是divs 隐藏了每个未使用的选项(使用display:none),并且每个未使用div的还有一个禁用的表单字段。当用户在选择框中选择其他选项时,当前显示的div需要隐藏,select内部div需要禁用,新的div需要显示并select启用。我这样做是因为每个隐藏/显示的表单字段与我将它们发布到 PHP 脚本的名称相同。

所有的<div>s 都是<div id="textdiv-uniqueID">OR的格式<div id="seldiv-uniqueID">(这里uniqueID是每组divs 的唯一编号),每个select都是 的格式<select name="uniqueID-good_value">,其中 uniqueID 与对应div的 s 相同。

回顾一下:我有一组动态生成的选择框和表单域。每个选择框都有两个关联的表单域,每个域都有自己的<div>,其中一个将被隐藏/禁用,另一个将显示/启用。When the other option in a given select box is selected, the divs and form fields need to switch roles: the currently hidden/disabled one needs to be shown/enabled, and vice versa.

这是一个包含基础知识的 jsFiddle,包括我开始尝试弄清楚 Javascript/jQuery。

4

2 回答 2

1

通常,类似于您需要的内容如下所示:

$('#uniqueID-good_value').on('change',function (){
    var val= $(this).val();
    if(val==1) {
        $('textdiv-uniqueID').show();
        $('seldiv-uniqueID').hide();
    }else{
        $('textdiv-uniqueID').hide();
        $('seldiv-uniqueID').show();
    }
});

对于您的情况,您需要在逻辑上做一些工作,以使其与 uniqueid 一起工作。

于 2013-04-04T15:17:00.600 回答
0

你不能在相关字段上放一个“活动”或“隐藏”类,然后在事情发生变化时交换这个类吗?

例如:

$(".active").removeClass("active").addClass("hidden");

您可以将其放入您选择的小部件上的事件中(我不确定所有可用的事件是什么,但必须有类似 onselect 或 onselected 的东西,并且总是有 onmouseup)

于 2013-04-04T15:13:22.190 回答