我有这个字段
<input type="hidden" id="uidhcdm" name="uidhcdm" value="0">
<input type="hidden" id="uidhcdm" name="uidhcdm" value="0">
我正在使用一个名为change val
的函数function changeval(x,val)
{
$('#'+x).val(val);
}
但是当我运行该函数时,它只影响第一个隐藏字段值而不影响秒数!
请帮助我!!
答案 0 :(得分:4)
您必须认识到标记的属性“id”必须是唯一的。您可以为“id”定义更多具有相同值的元素,但每个DOM访问只会检索第一个,因为根据定义,只允许一个元素具有一个特定的id。
换句话说:对于多个元素具有相同的id是错误的代码。
答案 1 :(得分:2)
您可以将输入字段放在div容器中,例如
<div id="View">
<input type="hidden" id="uidhcdm" name="uidhcdm" value="0">
<input type="hidden" id="uidhcdm" name="uidhcdm" value="0">
</div>
然后使用类似的东西?
function changeval(x,val) {
$("#View > input").each(function () {
if ($(this).id===x) {
$(this).val(val);
}})};
我很确定这会起作用,或者应该做一点修改。
答案 2 :(得分:2)
ID应该是唯一的。将id
更改为class
:
<input type="hidden" class="uidhcdm" name="uidhcdm" value="0">
<input type="hidden" class="uidhcdm" name="uidhcdm" value="0">
然后在#
中将.
更改为changeval()
:
function changeval(x,val) {
$('.'+x).val(val);
}