如何将jQuery .data()属性添加到dropdownlist选项元素

The*_*ear 2 html jquery

我正在尝试使用jQuerys .data()向下拉列表中的元素添加一些额外的数据,下拉列表是填充属性,我想要的ID就在那里,但是当我尝试访问时,数据显示并且未定义.

人口代码.

 $.each(tutorArray, function(index, item){
        var TID= item.T.Id        
        $.each(item.T.TimeList, function(ind, i) {
            $(ddl).append($('<option></option>').val(i.StartTime).html(i.StartTime + ' - ' + i.EndTime).data({
                TID: TID
            }));
        });
    });  
Run Code Online (Sandbox Code Playgroud)

访问代码

$(ddl).bind('change', function() {
        if($(this).val() != '') {

            var time = $(this).val(); 

            showConfirmRequestTutorCallDialogue(d, time, $(ddlDurationSelector).val(), $(this).data("TID"), $(ddlStudiesSelector).val())
        }
    });
Run Code Online (Sandbox Code Playgroud)

Tad*_*eck 5

您应该data以这种方式设置元素(请参阅文档):

element.data("someKey", someValue);
Run Code Online (Sandbox Code Playgroud)

所以您的人口代码可能如下所示:

$.each(tutorArray, function(index, item){
    var TID= item.T.Id        
    $.each(item.T.TimeList, function(ind, i) {
        var element = $('<option></option>');
        element.val(i.StartTime).html(i.StartTime + ' - ' + i.EndTime);
        element.data("TID", TID);
        $(ddl).append(element);
    });
});  
Run Code Online (Sandbox Code Playgroud)