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

时间:2014-02-25 09:00:21

标签: javascript html

我是Javascript和HTML新手。 我正在开发一个有很多单选按钮的项目。

<input type="radio" name="name" value="Run $temp" data-href="test.pl" onclick="function()"/>Text

每当我点击单选按钮时,我想显示一个按钮,其值与单选按钮的值相同(在本例中为“Run $ temp”)。 我该怎么写function()。 感谢

已更新

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

JS

<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;

}

3 个答案:

答案 0 :(得分:0)

我不知道我是否理解你想做,但试试这个:

<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>

答案 1 :(得分:0)

this会让你开始吗?

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);
}

答案 2 :(得分:0)

尝试点击一下。

<强>已更新

您必须保留对前一个按钮的引用,以便在单击下一个单选按钮时将其删除。

传递要与此功能绑定的单选按钮的名称。

<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>

修改

document.getElementById(id)返回一个元素而不是数组,因此不需要[0]来选择第一个元素。要么是你犯的错误,要么你在所有大写字母中输入了ID,document.getElementBy * Id *(id)。 Id的 d 较小。

这是fiddle