Javascript 根据用户输入取消隐藏多个div

Javascript 根据用户输入取消隐藏多个div,javascript,html,Javascript,Html,使用以下标记,我需要一种根据用户在表单输入中输入的内容显示div数的方法,因此如果用户输入5,则div 1、2、3、4和5是可见的,而其他div是隐藏的,如果他们输入3,则只有1、2和3是可见的 表格输入: <input id="sitesinput" maxlength="3" /> Div标记: <div id="inputsite" onChange='site_change()'> <div id="site1" class="tenth">Si

使用以下标记,我需要一种根据用户在表单输入中输入的内容显示div数的方法,因此如果用户输入5,则div 1、2、3、4和5是可见的,而其他div是隐藏的,如果他们输入3,则只有1、2和3是可见的

表格输入:

<input id="sitesinput" maxlength="3" />

Div标记:

<div id="inputsite" onChange='site_change()'>
<div id="site1" class="tenth">Site 1<br /><input name="site1" type="text" size="3" value="0" /></div>
<div id="site2" class="tenth">Site 2<br /><input name="site2" type="text" size="3" value="0" /></div>
<div id="site3" class="tenth">Site 3<br /><input name="site3" type="text" size="3" value="0" /></div>
<div id="site4" class="tenth">Site 4<br /><input name="site4" type="text" size="3" value="0" /></div>
<div id="site5" class="tenth">Site 5<br /><input name="site5" type="text" size="3" value="0" /></div>
<div id="site6" class="tenth">Site 6<br /><input name="site6" type="text" size="3" value="0" /></div>
<div id="site7" class="tenth">Site 7<br /><input name="site7" type="text" size="3" value="0" /></div>
<div id="site8" class="tenth">Site 8<br /><input name="site8" type="text" size="3" value="0" /></div>
<div id="site9" class="tenth">Site 9<br /><input name="site9" type="text" size="3" value="0" /></div>
<div id="site10" class="tenth">Site 10<br /><input name="site10" type="text" size="3" value="0" /></div>
</div>

站点1
站点2
站点3
站点4
站点5
站点6
站点7
站点8
站点9
站点10
请注意,site_change功能与我在此处的要求无关

谢谢你的关注

B.

$(“#sitesinput”).live(“更改”,函数(){
var num=parseInt($(“#sitesinput”).val();
对于(i=1;i
(函数(){
var divs=document.getElementById('inputsite').childNodes,
visible=parseInt(document.getElementById('sitesinput')。值,10);
如果(isNaN(可见)){
返回;
}
对于(变量i=0,divsLength=divs.length;i
这将遍历
#inputsite
的所有子级,并根据输入
#sitesinput
的编号,将其
display
属性设置为
block
none

另外,
div
没有可触发的
onChange
属性,甚至没有可触发的
onChange

按以下方式操作:-

function countAndRun(){
var req = parseInt(document.getElementById("sitesinput").value);
for(i=1;i<=req;i++){document.getElementById("site"+i).style.display="";}
for(i=req+1;i<=10;i++){document.getElementById("site"+i).style.display="none";}
}
window.setInterval("countAndRun()", 1000); // 1 second interval to prevent overload
函数countAndRun(){
var req=parseInt(document.getElementById(“sitesinput”).value);

对于(i=1;i你所说的“显示div的数量”是什么意思?啊,好吧-有一件事是不清楚的,那就是
元素首先是如何隐藏的。是否有一些CSS规则隐藏它们?是的:。第十个{display:none;)你指的是什么重载?我经常注意到Google Chrome中可能没有任何其他浏览器,如果你以1ms的间隔运行重载函数,进程会出现峰值,有时也会挂起。我指的是这种重载!Alex,re:div event-是的!@Bitterss不,没有。虽然你可以为对象分配任何属性,但它确实可以esn并不意味着它将被使用,例如
window.onWednesdays=function(){…}
(function() {

    var divs = document.getElementById('inputsite').childNodes,
        visible = parseInt(document.getElementById('sitesinput').value, 10);

    if (isNaN(visible)) {
        return;
    }

    for (var i = 0, divsLength = divs.length; i < divsLength; i++) {
        divs[i].style.display = (i < visible) ? 'block' : 'none'; 
    }

})();
function countAndRun(){
var req = parseInt(document.getElementById("sitesinput").value);
for(i=1;i<=req;i++){document.getElementById("site"+i).style.display="";}
for(i=req+1;i<=10;i++){document.getElementById("site"+i).style.display="none";}
}
window.setInterval("countAndRun()", 1000); // 1 second interval to prevent overload