diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 963cce3..d5e9080 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -3,6 +3,7 @@ X-editable changelog
 
 Version 1.5.0 wip
 ----------------------------
+[enh] select: add `sourceOptions` to modify source request method and params (vitalets)
 [enh #377] add bool option `escape` to allow html as content (vitalets)
 [bug #344] fix determing empty for html content (vitalets)
 [enh] update select2 to 3.4.3 (vitalets)
diff --git a/src/inputs/list.js b/src/inputs/list.js
index 1dc75fc..b04a95a 100644
--- a/src/inputs/list.js
+++ b/src/inputs/list.js
@@ -117,8 +117,8 @@ List - abstract class for inputs that have source option loaded from js array or
                     }
                 }
                 
-                //loading sourceData from server
-                $.ajax({
+                //ajaxOptions for source. Can be overwritten bt options.sourceOptions
+                var ajaxOptions = $.extend({
                     url: source,
                     type: 'get',
                     cache: false,
@@ -153,7 +153,11 @@ List - abstract class for inputs that have source option loaded from js array or
                              $.each(cache.err_callbacks, function () { this.call(); }); 
                         }
                     }, this)
-                });
+                }, this.options.sourceOptions);
+                
+                //loading sourceData from server
+                $.ajax(ajaxOptions);
+                
             } else { //options as json/array
                 this.sourceData = this.makeArray(source);
                     
@@ -313,7 +317,17 @@ List - abstract class for inputs that have source option loaded from js array or
         @default true
         @since 1.2.0
         **/        
-        sourceCache: true
+        sourceCache: true,
+        /**
+        Additional ajax options to be used in $.ajax() when loading list from server.
+        Useful to send extra parameters (`data` key) or change request method (`type` key).
+        
+        @property sourceOptions 
+        @type object|function
+        @default null
+        @since 1.5.0
+        **/        
+        sourceOptions: null
     });
 
     $.fn.editabletypes.list = List;      
diff --git a/test/unit/select.js b/test/unit/select.js
index bcf4f41..f145ad5 100644
--- a/test/unit/select.js
+++ b/test/unit/select.js
@@ -791,5 +791,37 @@ $(function () {
         ok(p.find('select').length, 'select exists')
         equal(p.find('select').val(), 3, 'selected value correct');
     });                
-     
+    
+    
+   asyncTest("sourceOptions", function () {
+        expect(3);
+        var e = $('<a href="#" data-type="select" data-value="2" data-source="sourceOptions">customer</a>').appendTo(fx).editable({
+            sourceOptions: {
+                type: 'post',
+                data: {
+                    a: 1
+                }
+            }
+        });
+
+        $.mockjax({
+            url: 'sourceOptions',
+            type: 'post',
+            response: function(settings) {
+                equal(settings.data.a, 1, 'params sent!');
+                this.responseText = groups;
+            }
+        });
+                 
+        e.click();
+        var p = tip(e); 
+       
+        setTimeout(function() {
+            equal(p.find('select').find('option').length, size, 'options loaded');
+            equal(p.find('select').val(), e.data('editable').value, 'selected value correct') ;       
+            
+            e.remove();    
+            start();  
+        }, timeout);                
+    });  
 });