选择包含相同ID的所有元素

时间:2015-03-30 11:32:37

标签: javascript jquery

我想迭代所有具有id' #response_is_accepted'的元素。并能够将其价值改变为某种东西。即:val(1)。 我试过但我的尝试失败了,即:(在js文件中)

$('#response_is_accepted').each(function(i, obj) {
            alert($(this).text());
        }); 

它总是在我的警报中给我未定义或空白。

            <form novalidate="novalidate" class="simple_form edit_response" id="edit_response_113" action="/responses/113" accept-charset="UTF-8" data-remote="true" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="_method" value="patch" />
<div class="form-group hidden response_is_accepted"><input class="hidden form-control" type="hidden" value="0" name="response[is_accepted]" id="response_is_accepted" /></div>
<input type="submit" name="commit" value="Update Response" class="btn btn-default" />

<button type="button" class="btn btn-default btn-xs pull-right is-accepted" aria-label="Left Align" >Accept</button>

jeje | about 13 hours ago
</form>


<br>
<br>
<br> <form novalidate="novalidate" class="simple_form edit_response" id="edit_response_112" action="/responses/112" accept-charset="UTF-8" data-remote="true" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="_method" value="patch" />
<div class="form-group hidden response_is_accepted"><input class="hidden form-control" type="hidden" value="0" name="response[is_accepted]" id="response_is_accepted" /></div>
<input type="submit" name="commit" value="Update Response" class="btn btn-default" />

<button type="button" class="btn btn-default btn-xs pull-right is-accepted" aria-label="Left Align" >Accept</button>

jeje | about 15 hours ago
</form>


<br>
sa<br>
<br> <form novalidate="novalidate" class="simple_form edit_response" id="edit_response_111" action="/responses/111" accept-charset="UTF-8" data-remote="true" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="_method" value="patch" />
<div class="form-group hidden response_is_accepted"><input class="hidden form-control" type="hidden" value="0" name="response[is_accepted]" id="response_is_accepted" /></div>
<input type="submit" name="commit" value="Update Response" class="btn btn-default" />

<button type="button" class="btn btn-default btn-xs pull-right is-accepted" aria-label="Left Align" >Accept</button>

jeje | about 15 hours ago
</form>

请帮助

3 个答案:

答案 0 :(得分:1)

替换:

$('#response_is_accepted')

使用:

$('.response_is_accepted')

HTML中的元素在"response_is_accepted"中有class,而不是id,因此您需要使用类选择器(.)< / p>

如果您只想要<input>元素,请改用:

$('.response_is_accepted input.form-control')

答案 1 :(得分:0)

首先,我不确定你想要的选择器。但是,看到你的代码,你引用了ID,遗憾的是ID名称必须是唯一的。如果您想获得输入值,那么您可以使用$('.response_is_accepted'),但此选择器可用于<div>,然后要获取输入值,您可以使用.find()作为以下代码:

 $('.response_is_accepted').each(function(){
    alert($(this).find('input').val());     
 });

答案 2 :(得分:-1)

在jquery中:

$(document).each(
"#response_is_accepted",
function(){
    $(this).attr("val",1);
);

.each()