我有一个看起来像这样的表单
<FORM>
<INPUT TYPE='hidden' NAME='search0' VALUE='a'>
<INPUT TYPE='hidden' NAME='search1' VALUE='b'>
... etc
<INPUT TYPE='hidden' NAME='search100' VALUE='abc'>
</FORM>
在我的javascript中,我想做的事情是:
for (i=0;i<=100;i++) {
document.forms[0].search+i+.value = '';
}
显然这不是有效的语法,我只是不确定如何获取所有100个隐藏的输入并将其所有值更改为空。任何帮助非常感谢!
答案 0 :(得分:3)
请注意,.0
不是有效语法 - 因此您使用[0]
因为您可以将任何表达式放在此类括号内(例如数字,字符串)。实际上,您也可以使用+
运算符,因为+
可以应用于表达式。这解决了您的问题:
document.forms[0]["search" + i].value = '';
您也可以使用["forms"]
代替.forms
等。基本上,.
表示法只是[]
表示法的一个子集。
答案 1 :(得分:0)
jQuery“几乎但不是真的”等同于:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
/* all input that has a name that starts with search */
$("input[name^=search]").each(function (){
/* set the value to empty */
$(this).val('');
}
}
</script>