這個問題涉及我的一個about split(),並且包括一個關於inserting specific thing if string number is x的回答問題。split()loop:if string number = x,insert <br>
基本上,我有一個大字符串,具體的分隔符是:
,我在循環中使用.split()
來使用分隔符將字符串的每個部分打印到不同的輸入中。這工作完美。
現在,我想要做的每隔17個輸入(輸入17然後換行,輸入34然後換行,輸入51 ...)之後的breakline。我找到了一種方法在我分享的第二個鏈接中完成,並且分隔線工作。問題是現在只有最後一行輸入被填充字符串部分(字符串的最後7個部分)。所有其他輸入都只是空白。
下面是最終代碼:
function cutTheString()
{
var str = document.getElementById('textareaString').value;
var arrayOfStrings = str.split(':');
for(var i = 0; i < arrayOfStrings.length; i++)
{
if ((i % 17) == 0)
{
document.getElementById('result').innerHTML += '<br />';
}
var div = document.getElementById('result');
var mi = document.createElement('input');
mi.setAttribute('type', 'text');
mi.setAttribute('size', '4');
mi.setAttribute('id', 'string' + (i+1));
div.appendChild(mi);
document.getElementById('string' + (i+1)).value = arrayOfStrings[i];
}
}
有趣的是,在if ((i % 17) == 0)
,讓我們x
更換0
。如果x < 17
,則只填入x - 17
個輸入,從最後一個列表開始填充。如果x > 17
,所有的輸入都會被填滿,但破折線顯然不起作用。
控制檯中沒有錯誤,而且我對Javascript的知識使我不明白爲什麼它會這樣做。我很清楚這種相關性,但我想不出任何解決辦法。我嘗試了不同於==
的運營商,但沒有成功。
您可以在this JSFiddle上進行測試。謝謝你的幫助!
你把什麼放在CSS?和*爲什麼*? – 2014-09-28 22:56:07
別介意,我忘了刪除它,這就是現在textarea裏面的東西:)我編輯了JSFiddle鏈接。 – Orphal 2014-09-28 22:58:02