我正在使用JQUERY Val();要将数据从我的amCharts周期选择器获取到我的页面上的div它可以工作但只带来一个值,.amChartsInputField有两个包含文本的输入区域。
我注意到JQUERY文件中的Val();明白地使用只会带来一个元素。有没有办法调整这个来引入多个对象。
我的剧本如下:
JQUERY
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>
非常感谢您的帮助。
答案 0 :(得分:6)
您可以使用jQuery&#39; s map()
函数将所有值收集到数组中:
// for each match, "map" the value into an array
var dates = $(".amChartsPeriodSelector .amChartsInputField").map(function() {
return $(this).val();
}).get();
// join the values together and assign to the date-div
$("#date-div p").text(dates.join(', '));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- made up HTML that fits your selectors -->
<div class="amChartsPeriodSelector">
<input type="text" class="amChartsInputField" value="2014-10-10" />
<input type="text" class="amChartsInputField" value="2015-11-10" />
</div>
<div id="date-div"><p></p></div>
&#13;
答案 1 :(得分:4)
您可以使用map
和get
var date = $(".amChartsPeriodSelector .amChartsInputField").map(function(){
return this.value; // simple but you could also use $(this).val();
}).get(); // now date is an array
如果你想连接,可以像$("#date-div p").text( date.join(" ") );
那样使用或使用索引。
答案 2 :(得分:0)
date
变量只更新一次(使用第一个元素的val()),这意味着你不会通过这样做获得数组。如果你想为每个单独的值做一些事情,那么你可以做
var elements = $('.elements');
var value;
for(var i=0; i<elements.length; i++){
value = $(elements[i]).val();
//now do something.. for example:
alert(value);
}
答案 3 :(得分:0)
我建议你做那样的事情:
var date = [];
$(".amChartsPeriodSelector .amChartsInputField").each(function() {
date.push($(this).val());
});