[英]Fetch data-value of specific elements
當創建允許用戶選擇希望運行任務的月,日,小時和分鍾的調度程序類型系統時,我已經創建了代表每個選項的DIV。 我使用“數據值”來存儲表示形式的實際整數值。
當他們提交表單時,我需要收集此信息以放入數組中並傳遞給AJAX。 但是,我正在努力尋找方法。 我基本上需要使用“選定”類的所有月份,使用“選定”類的所有小時,依此類推。 誰能闡明我該怎么做?
我想象有某種方法可以檢查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>
以下將查找同時具有timeSegment
類和selected
類的所有元素:
$('.timeSegment.selected')
因此,使用上述方法,您可以像這樣檢索data-value
屬性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
類的元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.