Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果包含/不包含单选按钮值文本,则显示/隐藏div_Javascript_Jquery_Html_Button_Radio - Fatal编程技术网

Javascript 如果包含/不包含单选按钮值文本,则显示/隐藏div

Javascript 如果包含/不包含单选按钮值文本,则显示/隐藏div,javascript,jquery,html,button,radio,Javascript,Jquery,Html,Button,Radio,我的新项目有个奇怪的任务。我有2个单选按钮,我必须根据单选按钮选择显示某些下拉div。单选按钮是2,div还有几个,但我希望它只显示某些div,这取决于单选按钮的选择。我无法为div分配额外的类和id,因此我尝试制作一个javascript来检查radio的值,看看它是否包含在div中,并只显示包含radio值的div。以下是一个例子: 编辑:添加了JS $document.readyfunction{ $'input[type=radio]'。单击函数{ var inputValue=$th

我的新项目有个奇怪的任务。我有2个单选按钮,我必须根据单选按钮选择显示某些下拉div。单选按钮是2,div还有几个,但我希望它只显示某些div,这取决于单选按钮的选择。我无法为div分配额外的类和id,因此我尝试制作一个javascript来检查radio的值,看看它是否包含在div中,并只显示包含radio值的div。以下是一个例子: 编辑:添加了JS

$document.readyfunction{ $'input[type=radio]'。单击函数{ var inputValue=$this.attrvalue; var text=div.innerHTML; $Radio1.nottext.hide; $text.show; }; }; 无线电1 无线电2 1.无线电10 1.1. 无线电1-1 1.2. 无线电1-2 1.3. 无线电1-3 1.4. 无线电1-4 1.5. 无线电1-5 1.5.1. 无线电1-6 1.5.2. 无线电1-7 1.5.3. 无线电1-8损失 1.5.4. 无线电1-9 1.6. 无线电1-10 1.7. 无线电1-11 2.无线电20 2.1. 无线电2-1 2.2. 无线电2-2 2.3. 无线电2-3 2.4. 无线电2-4
您可以将更改侦听器添加到两个输入[radio],然后在侦听器函数中,选择所有div,隐藏它们,然后循环检查每个div的内容,如果其中包含radio.value,则显示它

如果有帮助,请参阅下面的代码

$input[name='radio'].onchange,ev=>{ 设elem=ev.target; 如果元素被选中{ 让divs=$。选择隐藏div 设val=elem.value; 皮 divs.removeClassselect-selected divs.eachi,div=>{ 让text=div.textContent 如果text.indexOfval>-1{ div.style.display=块 如果text.indexOfval+0>-1{ div.className+=选中; } } } } } //下面的代码是在doc启动时调用更改,以使radio1处于选中状态 $input[value='Radio1'].triggerchange 。选择隐藏div{ 显示:无; } 。选择所选{ 颜色:绿色; 字号:20px } 无线电1 无线电2 1.无线电10 1.1. 无线电1-1 1.2. 无线电1-2 1.3. 无线电1-3 1.4. 无线电1-4 1.5. 无线电1-5 1.5.1. 无线电1-6 1.5.2. 无线电1-7 1.5.3. 无线电1-8损失 1.5.4. 无线电1-9 1.6. 无线电1-10 1.7. 无线电1-11 2.无线电20 2.1. 无线电2-1 2.2. 无线电2-2 2.3. 无线电2-3 2.4. 无线电2-4
你可以这样做。。。使用jquery

$document.readyfunction{ 函数xyz{ var getval=$'label.container输入[type=radio]:选中'.val; $'。选择项>div'。每个函数{ 如果$this.text.indexOfgetval>-1{ $this.show; } 否则{ $this.hide; } }; } xyz; $'label.container input[type=radio]'。单击函数{ xyz; }; }; 无线电1 无线电2 1.无线电10 1.1. 无线电1-1 1.2. 无线电1-2 1.3. 无线电1-3 1.4. 无线电1-4 1.5. 无线电1-5 1.5.1. 无线电1-6 1.5.2. 无线电1-7 1.5.3. 无线电1-8损失 1.5.4. 无线电1-9 1.6. 无线电1-10 1.7. 无线电1-11 2.无线电20 2.1. 无线电2-1 2.2. 无线电2-2 2.3. 无线电2-3 2.4. 无线电2-4
你什么都没试过?我试过了。我试过用JS添加编辑。你必须有某种标识符类或id。或者你必须获取内部文本,并使用正则表达式或任何其他黑客对特定的div或节点集合进行解析。非常感谢!这创造了奇迹,但它不会改变1的值。无线电10台。如何使其应用于另一个选择了类select的div?我忘了添加这个显示下拉列表中所选选项的div。抱歉,现在不了解您的需要。如果这是一个新问题,请在SO中创建另一个问题,因为您的主要/初始问题已经回答了。我希望它不仅适用于类选择隐藏,也适用于选择选定。试试这个。。。让divs=$。选择隐藏。选择选定的divs尝试了此操作,但也不起作用。关键是,它应该也适用于另一个div。让divs=$。选择hide div,.select selected div添加一个带有类的div示例。选择selected是因为在您发布的当前代码中,它不存在,也不存在任何下拉列表…这也可以工作,但默认情况下它会同时显示这两个示例。卡尔文·尼尔斯的答案更好,并被接受为答案。也谢谢你花时间回答!伟大的我想这正是我想要的!有没有一种方法可以将此应用到页面上的另一个div?是的,您可以在页面上的任何位置调用函数xyz,只需相应地更改类,就完成了。。。