2017-06-13 21 views
0

我有以下jQuery和HTML代碼附加文本不會出現在正確的格式

var i = 2; 
 
$('#addbtn').click(function() { 
 
    i = i + 1; 
 
    $('#options').append('<label for="' + i + '" class="black-text">' + i + '.</label><input id="' + i + '" type="text">'); 
 
    return false; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="options" class="row"> 
 
    <label for="1" class="black-text">1.</label> 
 
    <input id="1" type="text"> 
 
    <label for="2" class="black-text">2.</label> 
 
    <input id="2" type="text"> 
 
</div> 
 

 
<button id="addbtn" class="btn-floating btn-large waves-effect waves-light blue" style="font-size:20;" href="" onclick="return false;"><i class="material-icons">add</i></button>

我要追加更多的選擇,因爲我點擊添加按鈕。 但我無法弄清楚這段代碼有什麼問題。當我第一次點擊添加按鈕時,附加文本出現在頁面的右上角(與下面的選項2不同),當我不斷點擊按鈕時,附加文本最終向左移動。希望問題足夠清楚。 謝謝。

+1

您可以添加
追加新行 – guradio

回答

0

您可以添加一個div標籤

var i = 2; 
 
$('#addbtn').click(function() { 
 
    i = i + 1; 
 
    $('#options').append('<div><label for="' + i + '" class="black-text">' + i + '.</label><input id="' + i + '" type="text"></div>'); 
 
    return false; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="options" class="row"> 
 
    <div><label for="1" class="black-text">1.</label> 
 
    <input id="1" type="text"></div> 
 
    <div><label for="2" class="black-text">2.</label> 
 
    <input id="2" type="text"></div> 
 
</div> 
 

 
<button id="addbtn" class="btn-floating btn-large waves-effect waves-light blue" style="font-size:20;" href="" onclick="return false;"><i class="material-icons">add</i></button>

+0

這是有幫助的,並沒有解決這個問題完全雖然。我想到了。不管怎麼說,還是要謝謝你。 –

+0

你是怎麼做到的 – Rahul

+0

正如你所建議的那樣,我使用了div,但新的附加文本仍然對齊。所以,而不是使用「追加」,我給了「ID」的股利,並使用「insertAfter」,併爲我完美工作。 –