无法从复选框兄弟输入中获取值

时间:2013-12-07 22:58:35

标签: jquery input siblings

我很难从复选框的兄弟中获取值。我的点击功能看到复选框点击,但后来我的变量未定义。如果我用var声明它并不重要。我已经尝试过兄弟姐妹,孩子,兄弟姐妹的孩子,有没有“输入[name = info]”我明显缺少什么?谢谢你的帮助。

这是一个小提琴:http://jsfiddle.net/charliemagee/eBZ9G/

<ul class="goalsinprogress goalsection">
  <li class="inprogress">
    <span class="goaltitle">study after dinner</span>
    <span class="goalstatus"><input type="checkbox"/></span>
    <span class="gatherinfo"><input type="text" name="info" class="info"/></span>
  </li>
  <li class="inprogress" data-info="['66','77']">
    <span class="goaltitle">keep locker tidy</span>
    <span class="goalstatus" data-goal="keep locker tidy"><input type="checkbox"/></span>
    <span class="gatherinfo"><input type="text" name="info" class="info"/></span>
  </li>
</ul>

$(".goalsinprogress").delegate("input[type=checkbox]", "click", function() {
  var newinfo = $(this).siblings().children().val();
  return console.log(newinfo + '  what the');
});

1 个答案:

答案 0 :(得分:2)

试试这个,使用.closest()获取li父级,然后使用.find()获取input.info

$(".goalsinprogress").delegate("input[type=checkbox]", "click", function() {
  newinfo = $(this).closest('li').find('input.info').val();
  console.log(newinfo + '  what the?');
  return updateStatus = 'completed';
});

Fiddle