JQuery:如何访问具有相同ID的多个输入的特定文本输入?

时间:2016-12-16 07:54:19

标签: javascript jquery

我很难访问输入id来进行操作,我有这个:

<input id="id_cot" name="id_cot" type="hidden" value="1">
<input id="id_cot" name="id_cot" type="hidden" value="2">
<input id="id_cot" name="id_cot" type="hidden" value="3">
<input id="id_cot" name="id_cot" type="hidden" value="4">

它是由我的BD生成的,我如何通过JQuery访问例如值4?非常感谢你

4 个答案:

答案 0 :(得分:2)

正确的答案是:不要这样做。 id值在文档中必须是唯一的。如果您对多个元素使用相同的id,浏览器可以自由地执行他们喜欢的操作。 (他们通常将id留在元素上,但如果你通过ID查找,则他们会给你第一个。但是他们不必这样做,所以我不依赖它。)

由于它们也有名称,您可以使用选择器input[name=id_cot]来获取包含所有thos元素的jQuery集,并循环遍历它(或使用eq来选择其中一个):< / p>

var inputs = $("input[name=id_cot]");

答案 1 :(得分:2)

标识符必须是唯一的,使用重复的ID会导致HTML无效,所以你不应该这样做。

但是,可以使用公共类或属性值选择器(在代码段中提供)。

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="id_cot" type="hidden" value="1">
<input name="id_cot" type="hidden" value="2">
<input name="id_cot" type="hidden" value="3">
<input name="id_cot" type="hidden" value="4">
&#13;
{{1}}
&#13;
&#13;
&#13;

答案 2 :(得分:0)

如果你$('#id'),你将只获得一个元素。你可以做到

$('[id=id_cot]')

获取特定ID的所有元素。然后您可以通过执行以下操作访问元素#4:

$('[id=id_cot]').eq(3).val() // Your value

注意:我们不建议多次使用相同的ID。

更多信息:

答案 3 :(得分:0)

$('.id_cot').each(function(i,v){


console.log("Item in index " + i + " has value " + $(v).val())



})

//to get value at index 4..
console.log("Item in input 4 has value " + $('.id_cot').eq(3).val())// get the element at index 3 to get the value 4 use 3 because index starts with 0
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="id_cot" name="id_cot" class="id_cot" type="hidden" value="1">
<input id="id_cot" name="id_cot" class="id_cot" type="hidden" value="2">
<input id="id_cot" name="id_cot" class="id_cot" type="hidden" value="3">
<input id="id_cot" name="id_cot" class="id_cot" type="hidden" value="4">

使用带索引的类来获取您想要获得的输入