通过循环jquery获取值

时间:2016-02-15 10:57:49

标签: javascript php jquery codeigniter

for($i=0;$i<5;i++)
{
    <h2><a href="" class="question_title"><?php echo $value['asked_title'];?> </a></h2>
    <input type="hidden" name="question_id" value="<?php echo $i; ?>" id="question_id" class="question_id" >
}

Jquery:

$('.question_title').click(function () {
    var value = $('#question_id').val();
    alert(value);
});

此代码中的朋友question_id将携带不同的循环值。这里我有写代码来获取值,根据LOOPING点击ahref类我想获取隐藏值的值,例如在第一次迭代标题是牛点击ahref它应该警告0(question_id值)。点击第二个标题猫它应该得到警报1喜欢点击5个不同的标题它应该分别显示0-4但现在点击不同的标题它只警告0而不是其他值。任何人都可以建议我如何实现它。

4 个答案:

答案 0 :(得分:1)

获取父h2,然后下一个.question_id,如下所示。

&#13;
&#13;
$('.question_title').click(function() {
   var value = $(this).parent().next('.question_id').val();
   alert(value);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<h2><a href="" class="question_title">Title 0</a></h2>
<input type="hidden" name="question_id" value="0" id="question_id" class="question_id">

<h2><a href="" class="question_title">Title 1</a></h2>
<input type="hidden" name="question_id" value="1" id="question_id" class="question_id">
&#13;
&#13;
&#13;

顺便说一下,您对多个元素使用相同的ID question_id

答案 1 :(得分:0)

对于

<?php 
for($i=0;$i<5;i++)
{
?>
<h2><a href="#" class="question_title" data-tell="<?php echo $i; ?>"><?php echo $value['asked_title'];?> </a></h2>
<input type="hidden" name="question_id" value="<?php echo $i; ?>" id="question_id" class="question_id" >
 <?php  } ?>

在剧本中使用

$('.question_title').click(function() {
   alert($(this).attr("data-tell"));
});

答案 2 :(得分:0)

您在所有五个隐藏字段中拥有相同的ID question_id

你可以这样做..

for($i=0;$i<5;i++)
{
  echo '<h2><a href="" class="question_title" data-value="'.$i.'">'.$value['asked_title'].'</a></h2>';
}

jquery的

$('.question_title').click(function()
{
  var value = $(this).data('value');
  alert(value);
});

答案 3 :(得分:0)

由于'id'是唯一值,它只会得到第一个元素。

试试这个:

for($i=0;$i<5;i++)
{
<h2><a href="" class="question_title" id="<?php echo $i; ?>"><?php echo $value['asked_title'];?> </a></h2>
}

Jquery:

$('.question_title').click(function()
  {
  alert(event.target.id);
  });