Javascript 使用单选按钮数组的文本框可见性

Javascript 使用单选按钮数组的文本框可见性,javascript,php,laravel,laravel-5.2,Javascript,Php,Laravel,Laravel 5.2,我正在创建一组单选按钮来获取用户是否患有某种疾病的信息。为此,我创建了一个单选按钮数组,其中疾病名称存储在一个数组中,每当单击add按钮时,就会根据它们的名称来创建单独的单选按钮 HTML代码: <div> <a href="javascript:void(0);" class="add_button" title="Add field">&nbsp<img style="padding-bottom: 15px;" src="images/add_

我正在创建一组单选按钮来获取用户是否患有某种疾病的信息。为此,我创建了一个单选按钮数组,其中疾病名称存储在一个数组中,每当单击add按钮时,就会根据它们的名称来创建单独的单选按钮

HTML代码:

 <div>
 <a href="javascript:void(0);" class="add_button" title="Add field">&nbsp<img style="padding-bottom: 15px;" 
 src="images/add_btn.png"></a>
 </div>

在这里,我使用Javascript在单击按钮时创建radiobutton。我还创建了一个隐藏的文本框以及一些控件,在radiobutton中选择Yes后,用户可以在屏幕上看到这些控件

创建控件的Javascript

<script type="text/javascript">
$(document).ready(function(){

var values = new Array();
<?php foreach($value as $key => $val){ ?>
    values.push('<?php echo $val; ?>');
<?php } ?>

var maxField = values.length; //Input fields increment limitation
var addButton = $('.add_button'); //Add button selector
var wrapper = $('.field_wrapper'); //Input field wrapper
var x = 0; //Initial field counter is 1

var fieldHTML = '<div class="field_wrapper"><div class="label-group"><div class="line"></div><label style="font-weight: 900;" id="labelid">Disease</label></div>
<div class="form-check form-check-inline"><input class="form-check-input" type="radio" name="Disease" id="inlineRadio1" value="Yes" onclick="javascript:yesnoCheck();"><label class="form-check-label radio-inline" for="inlineRadio1">Yes</label>&nbsp&nbsp
<div id="ifYes" style="visibility:hidden; display:inline-block;"><input type="text" name="dvalue" id="dvalue" placeholder="Value" size="5" style="font-size:11px;"/></div></div><div class="form-check form-check-inline"><input class="form-check-input" type="radio" name="Disease" id="inlineRadio2" value="No" onclick="javascript:yesnoCheck();">&nbsp&nbsp&nbsp&nbsp&nbsp<label class="form-check-label" for="inlineRadio2">No</label>
</div><div class="line"></div></div>'; 

//Once add button is clicked
$(addButton).click(function(){
    //Check maximum number of input fields
    if(x < maxField){ 
         var element=values[x];
         $(wrapper).prepend(fieldHTML); //Add field html
         document.getElementById("labelid").innerText = element;//label
         document.getElementById("inlineRadio1").name = element;//yes radio
         document.getElementById("inlineRadio2").name = element;//no radio
         document.getElementById("dvalue").name = element;//textbox
         x++;//Increment field counter
    }
});

});
</script> 

$(文档).ready(函数(){
var值=新数组();
值。推送(“”);
var maxField=values.length;//输入字段增量限制
var addButton=$('.add_button');//添加按钮选择器
var wrapper=$('.field_wrapper');//输入字段wrapper
var x=0;//初始字段计数器为1
var fieldHTML='疾病
是的
  nbsp nbsp编号
'; 
//单击“添加”按钮后
$(添加按钮)。单击(函数(){
//检查输入字段的最大数量
如果(x
控制文本框可见性的Javascript

<script type="text/javascript">
function yesnoCheck() 
{
  if (document.getElementById('inlineRadio1').checked) 
  {
     document.getElementById('ifYes').style.visibility = 'visible';
  }
  else 
  {
    document.getElementById('ifYes').style.visibility = 'hidden';
  }

}
</script> 

函数yesnoCheck()
{
if(document.getElementById('inlineRadio1')。选中)
{
document.getElementById('Ifies').style.visibility='visible';
}
其他的
{
document.getElementById('ifies').style.visibility='hidden';
}
}
现在,我面临的问题是能见度。当我第一次创建一组控件时,可见性工作得很好,如图所示

但是,当我创建另一组控件时,意味着我无法更改以前创建的控件的可见性

在这里,我为糖尿病选择了Yes单选按钮,但文本框仍然隐藏

请给我一个解决方案。提前感谢。

只需执行以下操作:

var值=[‘疾病’、‘糖尿病’、‘艾滋病’、‘肝炎’、‘心脏病’、‘其他’],
html='Disease:YesNo',
x=0;
功能是检查(el){
var val=(el.options[0]。已选定)?“文本”:“隐藏”;
$(el).next('input').attr('type',val)
}
$('.add_button')。打开('单击',函数(e){
e、 预防默认值();
如果(x
。添加按钮{
显示:块;
利润率:10px;
宽度:32px;
高度:32px;
背景:透明url(https://image.ibb.co/hZbOA8/add_button.png)不许重复
}
.field_包装器{
填充:10px;
边框顶部:1px实心#ccc
}

只需执行以下操作:

var值=[‘疾病’、‘糖尿病’、‘艾滋病’、‘肝炎’、‘心脏病’、‘其他’],
html='Disease:YesNo',
x=0;
功能是检查(el){
var val=(el.options[0]。已选定)?“文本”:“隐藏”;
$(el).next('input').attr('type',val)
}
$('.add_button')。打开('单击',函数(e){
e、 预防默认值();
如果(x
。添加按钮{
显示:块;
利润率:10px;
宽度:32px;
高度:32px;
背景:透明url(https://image.ibb.co/hZbOA8/add_button.png)不许重复
}
.field_包装器{
填充:10px;
边框顶部:1px实心#ccc
}


您正在使用id,如果(document.getElementById('inlineRadio1')。选中)它总是触发正文中的第一个id,请尝试用类实现此功能如果(document.getElementById('inlineRadio1')。选中)它总是触发正文中的第一个id,请尝试用类实现此功能,谢谢,它工作正常。但是我需要使用单选按钮而不是选择框。谢谢,它工作得很好。但我需要使用单选按钮而不是选择框。