Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // type: select (based on 1.7.1, added feature: sorted options)
- $.editable.addInputType("select", {
- element : function(settings, original) {
- var select = $('<select />');
- $(this).append(select);
- return(select);
- },
- content : function(data, settings, original) {
- /* If it is string assume it is json. */
- if (String == data.constructor) {
- eval ('var json = ' + data);
- } else {
- /* Otherwise assume it is a hash already. */
- var json = data;
- }
- var aData = [];
- for (var key in json) {
- if (!json.hasOwnProperty(key)) {
- continue;
- }
- if ('selected' == key) {
- continue;
- }
- aData.push(json[key] + "||" + key);
- }
- // Sort
- aData.sort();
- // Create
- for (var key in aData) {
- var aDataSplit = aData[key].split("||");
- var option = $('<option />').val(aDataSplit[1]).append(aDataSplit[0]);
- $('select', this).append(option);
- }
- /* Loop option again to set selected. IE needed this... */
- $('select', this).children().each(function() {
- if ($(this).val() == json['selected'] || $(this).text() == $.trim(original.revert)) {
- $(this).attr('selected', 'selected');
- }
- });
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement