将单选按钮选择的值复制到文本框

时间:2017-07-28 14:07:33

标签: javascript

我正在尝试复制所选单选按钮中的值以显示在文本框中。但是,我无法让这个工作。我在下面复制了我的代码。

有人能帮助我吗?



library(tidyverse)
library(stringr)

txt<-read_lines("https://raw.githubusercontent.com/juancholkovich/GEO_DataSet_Browser/master/gds_result.txt")

txt %>% as_data_frame() %>% 
  filter(!value=='') %>% 
  mutate(new_group=as.numeric(str_detect(value, "^(\\d*?\\. )")),
         group=cumsum(new_group),
         keyword=str_match(value, "^Organism|^Project|^Type|^FTP|^Sample|^Series|^Source"),
         keyword=ifelse(str_detect(tolower(value), "^dataset|^series|^sample|^platform|related platforms"), "Dataset", keyword),
         keyword=ifelse(str_detect(tolower(value), "accession"), "Accession", keyword),
         keyword=ifelse(new_group==1, "Name", keyword),
         keyword=ifelse(is.na(keyword), "Comment", keyword)
  ) %>% select(-new_group) %>% spread(key=keyword, value=value)
&#13;
function sync()
{
  var n4 = document.getElementById('n4').checked;
  var n1 = document.getElementById('n1');
  n1.value = n4.value;
}
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

我改变了一些代码。首先,我使用了onchange事件。 之后,我创建了一个具有相同类名的单选按钮数组。 每次单选按钮更改时,它将循环并返回输入字段中的选中值。

&#13;
&#13;
function sync() {
  var radios = document.getElementsByName('gender');
  for(var i = 0; i < radios.length; i++){
    if(radios[i].checked){
      n1.value = radios[i].value;
    };
  };
};
&#13;
<form action="" id="n4"  onkeyup="sync()">
<input type="radio" name="gender" value="male" id"4" onchange="sync()"> Male<br>
<input type="radio" name="gender" value="female" onchange="sync()"> Female<br>
<input type="radio" name="gender" value="other" onchange="sync()"> Other
</form>


<input type="text" name="n1" id="n1" >
&#13;
&#13;
&#13;

答案 1 :(得分:1)

function sync(el)
{
  var n1 = document.getElementById('n1');
  n1.value = el.value;
}
<form action="" id="n4">
  <input type="radio" name="gender" value="male" id"4" onchange="sync(this)"> Male<br>
  <input type="radio" name="gender" value="female" onchange="sync(this)"> Female<br>
  <input type="radio" name="gender" value="other" onchange="sync(this)"> Other
</form>

<input type="text" name="n1" id="n1" >

使用onchange并传递元素并从中获取值。

答案 2 :(得分:-1)

请使用以下设置值。根据您的代码,您只需为彼此分配值。

function sync()
{
var n4 = document.getElementById('n4').checked;
    document.getElementById("n1").value = n4;
}