当创建允许用户选择他们希望任务运行的月,日,小时和分钟的调度程序类型系统时,我创建了代表每个选项的DIV。我使用"数据值"存储作为表示的实际整数值。
当他们提交表单时,我需要收集这些信息以放入数组并传递给AJAX。然而,我正在努力弄清楚如何这样做。我需要基本上花几个月的时间和#34;选择",所有小时的课程"选择"等等。任何人都可以阐明我如何能够这样做吗?
我想有一些方法可以检查DIV容器中的每个元素,但我不知道该怎么做。
var monthsContainer = $("#schedMonthsContainer");
var daysContainer = $("#schedDaysContainer");
for (i = 0; i < MonthsOfYear.length; i++)
{
var month = MonthsOfYear[i];
var monthEl = $("<div>", { 'class': "timeSegment selected", 'data-value': i, text: month });
monthsContainer.append(monthEl);
}
for (i = 0; i < DaysOfWeek.length; i++)
{
var day = DaysOfWeek[i];
var dayEl = $("<div>", { 'class': "timeSegment selected", 'data-value': i, text: day });
daysContainer.append(dayEl);
}
HTML
<div class="twelveSegmentContainer">
<div id="schedMonthsContainer"></div>
</div>
<div class="sevenSegmentContainer">
<div id="schedDaysContainer"></div>
</div>
答案 0 :(得分:0)
以下内容将找到 timeSegment
类以及selected
类的所有元素:
$('.timeSegment.selected')
因此,使用上述内容,您可以检索data-value
属性的值,如下所示:
$('.timeSegment.selected').each(function(index) {
console.log($(this).data('value'));
});
找出哪个父级属于$(this)
可以使用:parent()
完成,或者您可以对某个元素使用find()
。
选项1:使用parent()
:
$('.timeSegment.selected').each(function(index) {
var parent = $(this).parent();
console.log(parent.attr('id'));
console.log($(this).data('value'));
});
以上内容将检索父元素的id
,因此可以是schedMonthsContainer
或其他容器之一。
选项2:在特定元素上使用find()
:
$('#schedMonthsContainer').find('.timeSegment.selected').each(function(index) {
console.log($(this).data('value'));
});
以上内容仅检索月份容器中包含timeSegment
和selected
类的元素。