Files
crm.clientright.ru/resources/jquery.additions.js

49 lines
1.4 KiB
JavaScript
Raw Normal View History

;(function($) {
$.fn.disable = function() {
this.attr('disabled', 'disabled');
}
$.fn.enable = function() {
this.removeAttr('disabled');
}
})(jQuery);
;(function($){
$.fn.serializeFormData = function() {
var form = $(this);
var values = form.serializeArray();
var data = {};
if (values) {
$(values).each(function(k,v){
if(v.name in data && (typeof data[v.name] != 'object')) {
var element = form.find('[name="'+v.name+'"]');
//Only for muti select element we need to send array of values
if(element.is('select') && element.attr('multiple')!=undefined) {
var prevValue = data[v.name];
data[v.name] = new Array();
data[v.name].push(prevValue)
}
}
if(typeof data[v.name] == 'object' ) {
data[v.name].push(v.value);
}else{
data[v.name]=v.value;
}
});
}
// If data-type="autocomplete", pickup data-value="..." set
var autocompletes = $('[data-type="autocomplete"]', $(this));
$(autocompletes).each(function(i){
var ac = $(autocompletes[i]);
data[ac.attr('name')] = ac.data('value');
});
return data;
}
})(jQuery);
;(function($) {
// Case-insensitive :icontains expression
$.expr[':'].icontains = function(obj, index, meta, stack){
return (obj.textContent || obj.innerText || jQuery(obj).text() || '').toLowerCase().indexOf(meta[3].toLowerCase()) >= 0;
}
})(jQuery);