html 在多个元素上使用jQuery的.瓦尔()

zdwk9cvp  于 2022-11-27  发布在  jQuery
关注(0)|答案(4)|浏览(198)

我使用jQuery的.val()将数据从amCharts期间选择器中获取到页面上的div中。它可以工作,但只引入一个值。.amChartsInputField有两个包含文本的输入区域。
我在jQuery文档中注意到.val()只处理一个元素,有没有办法调整它以引入多个对象?
我的脚本如下:
查询:

chart1.addListener("rendered", function(e) {
  e.chart.periodSelector.addListener("changed", function() {
    var date = $(".amChartsPeriodSelector .amChartsInputField").val();
    $("#date-div p").text( date );
  }
}

HTML语言

<div id="date-div"><p>information pulled</p></div>

非常感谢您的帮助。

osh3o9ms

osh3o9ms1#

您可以使用jQuery的map()函数将所有值收集到一个数组中:
第一个

vaj7vani

vaj7vani2#

可以使用mapget将其设置为数组

var date = $(".amChartsPeriodSelector .amChartsInputField").map(function(){
   return this.value; // simple but you could also use $(this).val();
}).get(); // now date is an array

如果你想要concat,你可以像$("#date-div p").text( date.join(" ") );那样做,或者使用索引。

pnwntuvh

pnwntuvh3#

date变量只更新一次(用第一个元素的瓦尔()),这意味着这样做不会得到数组。

var elements = $('.elements');
var value;
for(var i=0; i<elements.length; i++){
    value = $(elements[i]).val();
    //now do something.. for example:
    alert(value);
}
vddsk6oq

vddsk6oq4#

我建议你这样做:

var date = [];
$(".amChartsPeriodSelector .amChartsInputField").each(function() {
    date.push($(this).val());
});

相关问题