P元素复制到输入值,只有一个选择

时间:2016-09-01 08:45:02

标签: javascript html checkbox

无法选择名字重复和其他名称,问题出在哪里? 另外,如何选择一个名称?



  

function copyTextValue(bf) {
 if(bf.checked)
 var text1 = document.getElementById("names").innerHTML;
 else
 text1='';
 document.getElementById("Name2").value = text1;
 document.getElementById("Name3").value=text1; 
 }

<b>Names</b><hr/>
 

<input type="checkbox" name="check1" onchange="copyTextValue(this);"/><p id='names'>James</p>
<input type="checkbox" name="check1" onchange="copyTextValue(this);"/><p id='names'>Emre</p>
<input type="checkbox" name="check1" onchange="copyTextValue(this);"/><p id='names'>Kate</p>
<input type="checkbox" name="check1" onchange="copyTextValue(this);"/><p id='names'>Berkay</p>

<hr/><b>Form</b><hr/>
<input id="Name2">
<input id="Name3">
&#13;
&#13;
&#13;

https://jsfiddle.net/emresaracoglu/LL5ukynq/

1 个答案:

答案 0 :(得分:2)

您使用了具有相同ID的id属性,因此无法使用。所以你需要设置不同值的id并将其传递给函数。

function copyTextValue(bf,selector) {
 if(bf.checked)
 var text1 = document.getElementById(selector).innerHTML;
 else
 text1='';
 document.getElementById("Name2").value = text1;
 document.getElementById("Name3").value=text1; 
 }
<b>Names</b><hr/>
 

<input type="radio" name="check1" onchange="copyTextValue(this,'names1');"/><p id='names1'>James</p>
<input type="radio" name="check1" onchange="copyTextValue(this,'names2');"/><p id='names2'>Emre</p>
<input type="radio" name="check1" onchange="copyTextValue(this,'names3');"/><p id='names3'>Kate</p>
<input type="radio" name="check1" onchange="copyTextValue(this,'names4');"/><p id='names4'>Berkay</p>

<hr/><b>Form</b><hr/>
<input id="Name2">
<input id="Name3">