2015-02-10 57 views
1

我已经在课堂上学会了如何生成一个可以生成输入单词的所有组合的功能。但是,如何使它不会出现一个窗口提示或警报弹出来输入单词并在提示框中显示所有组合,我想在屏幕上显示结果。我如何通过我已经写好的代码来做到这一点?修改单词组合生成器

这是我的完整代码:

<!DOCTYPE html> 
<html> 
<title>Combinations of a Word</title> 
<body> 
<script> 
function combinations(str){ 
var substr = []; 
for (var x = 0; x < str.length; x++) 
{ 
for (var y = x + 1; y <= str.length; y++) 
{ 
    substr.push(str.substring(x,y)); 
} 
} 
return substr; 
} 
document.write(combinations(window.prompt("Please enter a word"))); 
</script> 
</body> 
</html> 
+0

请问您可以共享html代码吗? – robieee 2015-02-10 06:22:44

+0

一定要在一分钟内添加它 – Piratica 2015-02-10 06:34:22

回答

0

只需

<input type="text" id="word"/> 
<div id="comb"></div> 

的JavaScript

function combinations(str) { 
    var substr = []; 
    for (var x = 0; x < str.length; x++) { 
     for (var y = x + 1; y <= str.length; y++) { 
      substr.push(str.substring(x, y)); 
     } 
    } 
    return substr; 
} 

var input = document.getElementById('word'); 
var out = document.getElementById('comb'); 
input.addEventListener('keyup', function(e){ 
    out.innerHTML = combinations(this.value).join(','); 
}); 

FIDDLE

PS - 你的c组合码错了

+0

非常感谢你!太棒了。那我做错了什么?当我在计算机上执行代码时,代码正在工作。请解释。 – Piratica 2015-02-10 07:07:31

+0

在语法上它是正确的,但是现在我想知道的是[组合](http://www.themathpage.com/aprecalc/permutations-combinations-2.htm)是什么意思:D。如果你正在获得所需的输出,那就没问题。 – 2015-02-10 07:13:25