动态显示/隐藏动态生成的<div> s </div>

时间:2013-04-04 15:07:50

标签: php javascript jquery forms

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

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

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

回顾一下:我有一组动态生成的选择框和表单字段。每个选择框都有两个关联的表单字段,每个字段都在其自己的{{1}}中,其中一个将被隐藏/禁用,另一个将被显示/启用。当选择给定选择框中的另一个选项时,div和表单字段需要切换角色:当前隐藏/禁用的一个需要显示/启用,反之亦然。

Here's a jsFiddle基础知识,包括我开始尝试找出Javascript / jQuery。

2 个答案:

答案 0 :(得分: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一起工作。

答案 1 :(得分:0)

难道你不能在相关领域放一个“主动”或“隐藏”类,然后在事情发生变化时交换课程吗?

例如:

$( “激活 ”)removeClass(“ 活性 ”)addClass(“ 隐藏”);

你可以把它放到你选择的小部件上的一个事件中(我不确定所有可用的事件是什么,但必须有像onselect或onselected这样的东西,并且总是onmouseup)