使用此方法迭代div内输入的最佳方法是什么

时间:2015-10-27 14:29:01

标签: javascript jquery html

我试图知道(没有成功),在点击按钮后,在特定div中使用特定类迭代所有输入元素的最佳方法是什么。

<div>
    <input type="text" class="inputtext">
    <input type="text" class="inputtext">
    <input type="text" class="inputtext">
    <input type="text" class="anotherclass">
    <input type="text" class="anotherclass">
    <button class="full">click me</button>
</div>

所以我想用类inputtext获取每个输入的值(但不是带有类anotherclass的那个)。我试过这个:

$(".full").click(function() {
    console.log($(this).parent().children(".inputtext").val());
});

感谢您的关注!

4 个答案:

答案 0 :(得分:1)

使用.map

var values = $(".inputtext").map(function() { return this.value }).get();

values将是每个input值的数组。

答案 1 :(得分:1)

使用JQuery的.each方法:

$(".full").click(function() {
    $(this).parent().children(".inputtext").each(function(){console.log($(this).val());});
});

工作小提琴:https://jsfiddle.net/jx6d4neh/

答案 2 :(得分:1)

尝试

$(".full").click(function() {
    $(this).siblings(".inputtext").each(function(){
        console.log($(this).val());
    });
});

答案 3 :(得分:-1)

你可以使用each()函数,有点像这样:

$(".full").click(function() {
  $(this).parent().children(".inputtext").each(function(){
      console.log($(this).val());
  });
});

https://api.jquery.com/each/

或者使用siblings()代替parent().children()更好地遍历

$(".full").click(function() {
  $(this).siblings(".inputtext").each(function(){
      console.log($(this).val());
  });
});

https://api.jquery.com/siblings/