2014-10-03 43 views
0

我想弄清楚如何使一個文本框數字反映我想顯示的數組上的數字。我的代碼在附上。我正在努力做到這一點,如果我輸入「4」,那麼我的4個技能會在我的網站上彈出。作爲變量的文本輸入與JavaScript上的while循環

<script type="text/javascript"> 
function myduties1() { 
var a= document.getElementById("DNumber1").value; 
var duties1= ["Building Houses","Using Heavy Machinery","Lifting","Fixing","Working Fast"]; 
var b= a-1 
var c="" 
while (a>=b) { 
c== "duties1[b]"; 
b++; 
} 

document.getElementById("mduties1").innerHTML =c; 
} 

</script> 
<p><button onclick="myduties1()">Click Here</button>to see my top <input type="text"  id="DNumber1" value=""> job duties</p> 
    <p id="mduties1"></p> 
+0

1)語法錯誤。在幾個地方丟失了分號。 2)初始值b總是a = 1。所以,循環總是會迭代一次。 3)沒有任何東西被分配給C.相反,C的值與數組的第n個元素進行比較。更不用說錯誤檢查了。此外,大多數Web瀏覽器都有一個JavaScript調試器,可幫助您識別錯誤並編寫腳本。 – 2014-10-03 01:25:29

回答

0

可能的解決辦法:

function myduties1() { 
    var a= document.getElementById("DNumber1").value; 
    var duties1= ["Building Houses","Using Heavy Machinery","Lifting","Fixing","Working Fast"]; 
    var out = ""; 
    if (a <= duties1.length){ 
     var out = (duties1.slice(0,a)).join(); 
    } 
    document.getElementById("mduties1").innerHTML =out; 
} 

檢查此鏈接jsfiddle看到一個工作的例子。

希望它有用!