簡體   English   中英

獲取特定元素的數據值

[英]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'));
});

上面的方法將只在月份容器中檢索具有timeSegmentselected類的元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM