2014-02-25 45 views
0

我是Javascript和HTML新手。 我正在研究一個有很多單選按鈕的項目。添加一個按鈕,點擊與單選按鈕相同值的單選按鈕

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

我要顯示與相同單選按鈕,這個「文本」後(這是「運行$ TEMP」在這種情況下),每當我點擊單選按鈕值的按鈕。 我該如何編寫函數()。 感謝

修訂

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

}

回答

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

+0

感謝這工作..但它給我一個新的按鈕,每當我點擊相同的單選按鈕。我想隱藏上一個按鈕,並在單選按鈕上單擊時創建一個新按鈕。怎麼做? – Bhavesh

+0

查看更新的代碼。 –

+0

謝謝..我正在嘗試通過使用document.getElementByID(id)它不工作的單選按鈕的「id」元素來執行此任務..我在單選按鈕中插入了一個ID但它不工作..請參閱UPDATED question – Bhavesh

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

這是「第一行」呢? – Bhavesh

+0

它基本上只是一個包裝div:單選按鈕,標籤和點擊時動態添加的按鈕。 –