2015-02-10 34 views
2

我期待在1-10之間生成x個唯一編號(無論用戶在輸入框中輸入什麼內容)。到目前爲止,我可以生成x個相同的唯一編號。它需要有一個輸入。用戶輸入他們想要在javascript中生成的唯一編號的數量

function addFields(){ 
      var number = document.getElementById("member").value; 
      var container = document.getElementById("container"); 


    var arr = Math.floor((Math.random() * 10) + 1); 

      while (container.hasChildNodes()) { 
       container.removeChild(container.lastChild); 
      } 
      for (i=0;i<number;i++){ 
       container.appendChild(document.createTextNode(" " + (arr))); 
       var input = document.createElement("input"); 
       input.type = "number"; 
                                  container.appendChild(document.createElement("br")); 

      } 
     } 

https://jsfiddle.net/andrew1814/by62764z/1/ 

感謝您的幫助!

回答

5

要生成每次隨機號碼,以便您可以移動arr變量iterator中:

function addFields() { 
 
    var number = document.getElementById("member").value; 
 
    var container = document.getElementById("container"); 
 

 
    while (container.hasChildNodes()) { 
 
    container.removeChild(container.lastChild); 
 
    } 
 
    for (i = 0; i < number; i++) { 
 
    //move arr here 
 
    var arr = Math.floor((Math.random() * 10) + 1); 
 
    container.appendChild(document.createTextNode(" " + (arr))); 
 
    var input = document.createElement("input"); 
 
    input.type = "number"; 
 
    container.appendChild(document.createElement("br")); 
 

 
    } 
 
}
<input type="text" id="member" name="member" value="">Number of members: (max. 10) 
 
<br /> 
 
<a href="#" id="filldetails" onclick="addFields()">See Numbers</a> 
 

 
<div id="container" /></div>

+0

非常感謝! – Andrewp 2015-02-10 14:18:11

+0

@Andrewp很高興我幫你:) – 2015-02-10 14:25:22

0

這裏是會產生的X唯一數字陣列功能1-10:

function generateUnique (x) { 
 
    var numbers = []; 
 

 
    while(x > 0) { 
 
    var r = Math.floor((Math.random() * 10) + 1); 
 
    if(numbers.indexOf(r) === -1) { 
 
     numbers.push(r); 
 
     x--; 
 
    } 
 
    } 
 
    return numbers; 
 
} 
 

 
alert(generateUnique(5));

相關問題