我正在使用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。
答案 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)