如何使用相同的id和名称jquery更改两个隐藏字段的值?

时间:2012-04-02 12:08:46

标签: php jquery

我有这个字段

<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);
}

但是当我运行该函数时,它只影响第一个隐藏字段值而不影响秒数!

请帮助我!!

3 个答案:

答案 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);
}