Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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 单击与单选按钮的值相同的单选按钮时添加按钮_Javascript_Html - Fatal编程技术网

Javascript 单击与单选按钮的值相同的单选按钮时添加按钮

Javascript 单击与单选按钮的值相同的单选按钮时添加按钮,javascript,html,Javascript,Html,我不熟悉Javascript和HTML。 我正在做一个有很多单选按钮的项目 <input type="radio" name="name" value="Run $temp" data-href="test.pl" onclick="function()"/>Text 文本 每当我点击单选按钮时,我想在“文本”之后显示一个与单选按钮(本例中为“Run$temp”)值相同的按钮。 我应该如何编写函数()。 谢谢 更新 <input type="radio" name="nam

我不熟悉Javascript和HTML。 我正在做一个有很多单选按钮的项目

<input type="radio" name="name" value="Run $temp" data-href="test.pl" onclick="function()"/>Text
文本
每当我点击单选按钮时,我想在“文本”之后显示一个与单选按钮(本例中为“Run$temp”)值相同的按钮。 我应该如何编写函数()。 谢谢

更新

<input type="radio" name="name" id="button1" value="Run $temp" data-href="test.pl" onclick="doStuff('id')"/>Text
文本
JS


var前置按钮;
函数doStuff(id){
如果(前置按钮){
prevButton.parentNode.removeChild(prevButton);
}
var radio=document.getElementById(id);
var button=document.createElement('button');
button.innerHTML=radio.value;
radio.parentNode.insertBefore(按钮,radio.nextSibling.nextSibling);
prevButton=按钮;
}

我不知道我是否明白您想要做什么,但请尝试以下操作:

<script type="text/javascript">
    function setText() {
        var textValue = document.getElementById("new_value");
        textValue.innerHTML = "Text";
    }
</script>
<input type="radio" name="name" value="Run $temp" data-href="test.pl" onclick="setText()"/><span id="new_value"></span>

函数setText(){
var textValue=document.getElementById(“新值”);
textValue.innerHTML=“Text”;
}
能帮你开始吗

function createBtn() {
    var radioBtn = document.getElementById("run-temp-btn"),
        radioBtnText = radioBtn.value,
        btn = document.createElement("button"),
        t = document.createTextNode(radioBtnText),
        row1 = document.getElementById("row-1");

    btn.appendChild(t);
    row1.appendChild(btn);
}

尝试在单击时执行此操作

已更新

您必须添加上一个按钮的引用,以便在单击下一个单选按钮时将其删除

传递要绑定此函数的单选按钮的名称

<input type="radio" id="thisId" value="Run $temp" data-href="test.pl" onclick="doStuff('thisId');"/>Text    

<script>
var prevButton;

function doStuff(id) {
  if(prevButton){
      prevButton.parentNode.removeChild(prevButton);
  }
  var radio= document.getElementById(id);
  var button = document.createElement('BUTTON');
  button.innerHTML = radio.value;
  radio.parentNode.insertBefore(button,  radio.nextSibling.nextSibling);


    prevButton = button;
}
</script>
文本
var前置按钮;
函数doStuff(id){
如果(前置按钮){
prevButton.parentNode.removeChild(prevButton);
}
var radio=document.getElementById(id);
var button=document.createElement('button');
button.innerHTML=radio.value;
radio.parentNode.insertBefore(按钮,radio.nextSibling.nextSibling);
prevButton=按钮;
}
编辑:

getElementById(id)返回一个元素而不是数组,因此[0]无需选择第一个元素。这可能是您犯的错误,也可能是您在所有大写字母中键入了ID,document.getElementBy*ID*(ID)。Id具有较小的d


以下是。

它基本上只是一个包装div,用于:单选按钮、标签和按钮,单击后将动态添加。感谢您的帮助。。但是每当我点击同一个单选按钮时,它就会给我一个新的按钮。我想隐藏上一个按钮,并在单击单选按钮时创建一个新按钮。怎么做?谢谢。。我正试图使用document.getElementByID(id)通过单选按钮的“id”元素来完成此任务,但它不起作用。。我在单选按钮中插入了一个ID,但它不起作用。。见更新的问题,非常感谢。成功了。最后一个查询,如何将此按钮向右对齐?但这将使我的所有按钮向右对齐,因为我在项目中有其他按钮。使用相同的方法通过javascript执行,如下所示。button.style.float=“右”;
<input type="radio" id="thisId" value="Run $temp" data-href="test.pl" onclick="doStuff('thisId');"/>Text    

<script>
var prevButton;

function doStuff(id) {
  if(prevButton){
      prevButton.parentNode.removeChild(prevButton);
  }
  var radio= document.getElementById(id);
  var button = document.createElement('BUTTON');
  button.innerHTML = radio.value;
  radio.parentNode.insertBefore(button,  radio.nextSibling.nextSibling);


    prevButton = button;
}
</script>