Javascript 是否可以向元素动态添加事件
我有一个EDM模型,我正在尝试为它生成一个动态UI,但它无法将事件添加到多个select中 换句话说,它只适用于1个select,而不适用于更多Javascript 是否可以向元素动态添加事件,javascript,jquery,edmx,Javascript,Jquery,Edmx,我有一个EDM模型,我正在尝试为它生成一个动态UI,但它无法将事件添加到多个select中 换句话说,它只适用于1个select,而不适用于更多 function addEvents(id) { $('body').on('click', '#entities_' + id, function(event) { var $e = $(event.target); var entityIndex = $("#ent
function addEvents(id) {
$('body').on('click', '#entities_' + id, function(event) {
var $e = $(event.target);
var entityIndex = $("#entities_" + id + " option:selected").index(); //$e.val();
var entity = entities[entityIndex - 1];
var columns = entity.property; // if index is not -1
var $entities_cols = $("#entities_" + id + "_cols").empty();
$.each(columns, function(index, e) {
var selectColumnHtmlId = 'selectcolumn_' + e.name;
var $selectColumnLabel = $('<label />', {
'for': selectColumnHtmlId,
text: e.name
});
$selectColumnLabel.appendTo($entities_cols);
$('<input />', {
type: 'checkbox',
id: selectColumnHtmlId,
value: e.name
}).prependTo($selectColumnLabel);
});
if (id <= config.expandLimit)
addExpand(++id, entity.navigationProperty);
});
}
功能添加事件(id){
$('body')。在('click','entities'+id,函数(事件)上{
var$e=$(event.target);
var entityIndex=$(“#实体"+id+”选项:选中”).index();/$e.val();
var实体=实体[entityIndex-1];
var columns=entity.property;//如果索引不是-1
var$entities_cols=$(“#entities_”+id+“_cols”).empty();
$。每个(列,函数(索引,e){
var-selectColumnHtmlId='selectcolumn_u'+e.name;
变量$selectColumnLabel=$(“”{
“for”:选择ColumnHtmlid,
文本:e.name
});
$selectColumnLabel.appendTo($entities\u cols);
$('', {
键入:“复选框”,
id:selectColumnHtmlId,
值:e.name
}).prependTo($selectColumnLabel);
});
如果(id通过更改此选项使其工作
function addEvents(id) {
var $entities = $('#entities_' + id);
$('body').on('click', $entities, function(event) {
var $e = $(event.target);
var entityIndex = $("#entities_" + id + " option:selected").index(); //$e.val();
var entity = entities[entityIndex - 1];
var columns = entity.property; // if index is not -1
var $entities_cols = $("#entities_" + id + "_cols").empty();
$.each(columns, function(index, e) {
var selectColumnHtmlId = 'selectcolumn_' + e.name;
var $selectColumnLabel = $('<label />', {
'for': selectColumnHtmlId,
text: e.name
});
$selectColumnLabel.appendTo($entities_cols);
$('<input />', {
type: 'checkbox',
id: selectColumnHtmlId,
value: e.name
}).prependTo($selectColumnLabel);
});
if (id <= config.expandLimit)
addExpand(++id, entity.navigationProperty);
});
}
功能添加事件(id){
变量$entities=$('#entities'+id);
$('body')。在('click')上,$实体,函数(事件){
var$e=$(event.target);
var entityIndex=$(“#实体"+id+”选项:选中”).index();/$e.val();
var实体=实体[entityIndex-1];
var columns=entity.property;//如果索引不是-1
var$entities_cols=$(“#entities_”+id+“_cols”).empty();
$。每个(列,函数(索引,e){
var-selectColumnHtmlId='selectcolumn_u'+e.name;
变量$selectColumnLabel=$(“”{
“for”:选择ColumnHtmlid,
文本:e.name
});
$selectColumnLabel.appendTo($entities\u cols);
$('', {
键入:“复选框”,
id:selectColumnHtmlId,
值:e.name
}).prependTo($selectColumnLabel);
});
如果(id)