2016-08-11 4 views
0

Ich habe eine Seite, die es jEditable verwendet, und ich möchte dynamisch die Optionen einer Auswahlliste laden (Abhängig vom aktuellen Element).Jeditable dynamische Auswahloptionen

Ich habe folgendes Beispiel in Geige: 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' 
    });         
}); 

ich die Liste der spezifischen Optionen abrufen möchten des Elements abhängig. Dies könnte möglich sein?

Antwort

0

Ich habe herausgefunden, wie diese Aufgabe ausgeführt wird, ich schließe eine zusätzliche Klasse für jedes Element ein. Hier

ist eine vollständige Lösung: 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' 
    }); 
    }); 
}); 

Wenn eine dynamische Generation ist (auf der Maus über, auf Klick); Ich entferne die Hilfsklasse nach der Initialisierung von jEditable.