2012-10-25 61 views
0

我想要实现的是用相同的值填充许多表单域。我可以做一个具有ID的元素:是否可以填充一个类的所有元素的值?

function selectDateAndArendeSearch(year, month, day, field, number, numberfield) { 
    var m = parseInt(month)+1; 

    if(m<10) 
     month="0"+m; 
    else 
     month=m; 
    if(day.length==1) 
     day="0"+day; 

    document.actionForm.all(field).value = year+"-"+month+"-"+day; 
    document.actionForm.all(numberfield).value = number; 
    document.getElementById('popupF').style.display = 'none'; 
} 

但是我该如何处理很多元素,例如一个类?

+2

使用jQuery作为我的日常JS伴侣。在jQuery中你使用每个() – jtheman

回答

1
document.getElementsByClassName('myclassname').value = 'New Value'; 
+0

看起来很完美。谢谢! –

+1

没有这样的函数,它是'getElementsByClassName',它返回一个数组,你必须迭代。 – Barmar

1

方法getElementsByClassName是现代浏览器的上乘之选。
但是,如果您需要与旧浏览器兼容,它可能不是本地的。在这种情况下,请查看CMS对this question的回答,他为此任务提供便携式功能。

对于兼容性看到下面的working draft

+0

它可以与IE 5+一起使用。我的要求是只有IE 6才行。 –

+0

@Nick Rosencrantz然后,我强烈建议您使用便携式方法:请参阅我的编辑以获取工作草案兼容性的链接。它只能在IE9中使用。 –

2
for (el in document.getElementsByClassName('myclassname')) { 
    el.value = "New Value"; 
} 
相关问题