【问题标题】:how get all values of one class in jquery?如何在 jquery 中获取一个类的所有值?
【发布时间】:2019-09-22 14:11:22
【问题描述】:

我正在尝试获取类输入字段的所有值。但它只返回一个字段值

HTML代码

<div id="mydiv">
<input class="seconds" type="text" value="40">
<input class="seconds" type="text" value="20">
<span class="countdown"></span>
</div>

Javascript 代码

<script src="{{ asset('js/vendor/jquery-3.1.0.min.js') }}"></script>
<script src="{{ asset('js/jquery.missofis-countdown.js') }}"></script>


<script>

var ek=$('.seconds').val();

console.log(ek);
$( '.countdown' ).countdown( {
  from: ek, // 3 minutes (3*60)
  to: 0, // stop at zero
  movingUnit: 1000, // 1000 for 1 second increment/decrements
  timerEnd: undefined,
  outputPattern: '$day Day $hour : $minute : $second',
  autostart: true,
});
</script>

我想获取具有相同类的两个输入字段的值

【问题讨论】:

标签: javascript jquery countdowntimer


【解决方案1】:

使用map() 创建值数组

var ek = $('.seconds').map((_,el) => el.value).get()

console.log(ek)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="mydiv">
<input class="seconds" type="text" value="40">
<input class="seconds" type="text" value="20">
<span class="countdown"></span>
</div>

【讨论】:

  • 你能运行这个脚本吗?脚本应该为两个输入运行倒计时
  • 如果没有更好地了解预期的内容或指向倒计时文档的链接,则并非如此。您的问题只是如何从输入中获取两个值,这就是答案的作用
  • 是的,你是对的,但它是其中的一部分。让我解释一下。代码从具有相同类的两个输入字段中获取值。第一步是从已完成的输入字段中获取值。现在第二步是将这些值转换为倒计时并显示在具有`countdown`类的span标签中
  • 这里是插件文档jqueryscript.net/time-clock/…
  • 所以你想要fromto 值?他们将是 +ek[0]+ek[1]
【解决方案2】:

属性方法只会获取第一个元素的值。

要获得多个,您必须对选择器返回的每个元素进行迭代(循环)。

var ek=[];
$('.seconds').each(function() { ek.push($(this).val()); });
console.log(ek);

计时器:

确保在 html 中添加任意数量的倒计时跨度。

$( '.countdown' ).each(function(index) { 
$(this).countdown( { from: ek[index], // 
3 minutes (3*60) 
to: 0, // stop at zero
 movingUnit: 1000, // 1000 for 1 second increment/decrements
 timerEnd: undefined, 
outputPattern: '$day Day $hour : $minute : $second',
 autostart: true, });
    });

注意:对于格式化,我深表歉意。我在手机上。

【讨论】:

  • 它现在可以工作了,你能告诉我如何在倒计时方法中改变 ek:ek 吗?
  • @BILALARSHADMUHAMMADARSHAD 好吧,你有一个倒计时跨度。很可能它只是要覆盖它。添加与秒输入一样多的倒计时跨度
  • 它给了NaN..是因为一个倒计时跨度吗?
  • @BILALARSHADMUHAMMADARSHAD 老实说,我现在无法为您解决此问题。我在移动设备上,通过这种方式进行测试非常非常困难。如果您无法弄清楚,我稍后会回顾一下,但如果它显示 NaN,我的猜测是在尝试代码时输入没有正确的值。您可能需要设置倒计时以在输入具有值之后运行。
猜你喜欢
  • 2011-11-08
  • 2011-03-29
  • 1970-01-01
  • 1970-01-01
  • 2011-08-26
  • 2013-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多