2016-08-11 2 views
0

У меня есть страница, в которой используется jEditable, и я хочу динамически загружать параметры списка выбора (в зависимости от текущего элемента).jeditable dynamic select options

У меня есть следующий пример скрипки: http://jsfiddle.net/mbv401920150/2rdco6qL/1/

$(document).ready(function() { 
    $('.edit').editable(function(value, settings) { 
     console.log(this); 
     console.log(value); 
     console.log(settings); 
     return(value); 
    }, { 
     data : " {'E':'E','F':'F','G':'G', 'selected':'F'}", // <---- I WANT TO CHANGE THIS CODE 
     // ****************************************** 
     // DYNAMIC LOAD - DEPENDING OF THE ELEMENT ID 
     // ****************************************** 
     // data : function(currentElement) { 
     //   if(currentElement.id == "A") return " { '1':'1', '2':'2', '3':'3' }"; 
     //  else return " { 'A':'A', 'B':'B', 'C':'C' }"; 
     // } 
     type : 'select', 
     onblur: 'submit' 
    });         
}); 

Я хочу, чтобы получить список конкретных вариантов в зависимости от элемента. Это может быть возможно?

ответ

0

Я понял, как выполнить эту задачу, я включаю дополнительный класс для каждого элемента.

Вот полное решение: http://jsfiddle.net/mbv401920150/2rdco6qL/3/

$(document).ready(function() { 
    $('.letter, .number').each(function(i, e) { 
    $(e).editable(function(value, settings) { 
     console.log(this); 
     console.log(value); 
     console.log(settings); 
     return (value); 
    }, { 
     data: ($(e).hasClass('letter') ? 
     " { 'A':'A', 'B':'B', 'C':'C' }" : 
     " { '1':'1', '2':'2', '3':'3' }"), 
     type: 'select', 
     onblur: 'submit' 
    }); 
    }); 
}); 

Если это динамическая генерация (при наведении мыши на мыши); Я удаляю вспомогательный класс после инициализации jEditable.