2013-07-05 54 views
1

請幫助我根據用戶輸入生成網格系統。jQuery - 基於用戶輸入創建引導網格

一樣,如果用戶輸入:

3 3 2 4 

然後,它會創建此引導電網:

<div class="row"> 
    <div class="span3">...</div> 
    <div class="span3">...</div> 
    <div class="span2">...</div> 
    <div class="span4">...</div> 
    </div> 

我曾嘗試:

jquery(document).ready(function(){ 
    var userInput = jQuery('.user-input').val(); 
    //now get number separated by space 
    // generate grid, dont know how to get numbers convert them to span(num) 
}); 
+0

那麼到目前爲止你做了什麼? – artsylar

+0

您將在哪裏添加創建的引導程序網格? – artsylar

+0

我會把它加到'div.container' – user007

回答

3

您可以使用拆分功能。

例子:

var input = "3 3 2 4"; 
var parts = input.split(" "); 
console.log(parts); 

輸出:

["3", "3", "2", "4"] 

然後就是通過數組循環由一個它們添加一個到您的div容器(更好雖然給ID到div容器)

這是循環數組的示例。 (參考:Jquery split function

for (i = 0, l = parts.length; i < l; i++) { 
    $('div.container').append('<div class=span' + parts[i] + '></div>') 
} 
+0

Thnaks來回答,但你能告訴我如何生成span – user007

+0

PLease給我一個循環的簡單例子,是否與PHP相同? – user007

+0

好的等待..我會嘗試創建一個示例代碼 – artsylar

2

爲打破文本並將其轉換爲int數字:

var input = "3 3 2 4"; 
var nums = input.split(' ').map(function(i){return parseInt(i);}); 

,那麼你只需要循環,然後再創建父母喜歡孩子的孩子,孩子們:

for(var i =0; i<nums.length;i++) 
    for (var j =0; j<nums[i];j++) { 
     document./*container*/.appendChild(/*your sub-containers*/) 

     for (var k =0; k<nums[j];k++) 
      document./*sub-container*/.appendChild(/*your sub-sub-containers*/) 
      ... 
    } 
+1

似乎我被標題中的單詞「grid」誤導了,並且OP想要追加孩子到一個容器!無論如何,這裏是一個例子,如果OP改變了主意,那麼可以創建一個網格! – CME64

+1

感謝您的解決方案,在來BS之前,我試圖做同樣的事情,但後來我遷移到BS。謝謝它也正在工作+1 – user007

+0

歡迎:) – CME64