我正在尝试使用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)
您应该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)