jquery несколько функций в одну?

204
28 августа 2018, 06:00

Как объединить скрипты jquery в один, чтобы не писать его каждый раз для другого input?

$(document).ready(function() {
var input = $('[name="xfield[god-vyhoda]"]');

$(".dropdown a.god-vyhoda").on('click', function() {
$(".dropdown ul.god-vyhoda").slideToggle('fast');
});
$("input[name='xf_god-vyhoda']").change(function () {
    var maxAllowed = 5;
    var cnt = $("input[name='xf_god-vyhoda']:checked").length;
    if (cnt > maxAllowed) {
        alert('Выбрано больше ' + maxAllowed + ' элементов!!');
    }
 });

$(document).mouseup(function (e) {
var container = $(".dropdown ul.god-vyhoda");
if (container.has(e.target).length === 0){
    container.hide();
}
});
$('.dropdown ul.god-vyhoda input[type="checkbox"]').on('click', function() {
var inputValue, innerObj = {};
if(input.val()) { 
  inputValue = input.val().split(', ')
} else {
  inputValue = []; 
};
inputValue.forEach(function(item) {
  innerObj[item] = true;
});

if ($(this).is(':checked')) {
  innerObj[$(this).val()] = true;
} else {
  delete innerObj[$(this).val()];
}
inputValue = Object.keys(innerObj); 
input.val(inputValue.join(', ')); 
});
});
////////////////////////////////////////

$(document).ready(function() {
var input = $('[name="xfield[kachestvo]"]');

$(".dropdown a.kachestvo").on('click', function() {
$(".dropdown ul.kachestvo").slideToggle('fast');
});
$("input[name='xf_kachestvo']").change(function () {
    var maxAllowed = 5;
    var cnt = $("input[name='xf_kachestvo']:checked").length;
    if (cnt > maxAllowed) {
        alert('Выбрано больше ' + maxAllowed + ' элементов!!');
    }
});

$(document).mouseup(function (e) {
var container = $(".dropdown ul.kachestvo");
if (container.has(e.target).length === 0){
    container.hide();
}
});
$('.dropdown ul.kachestvo input[type="checkbox"]').on('click', function() {
var inputValue, innerObj = {};
if(input.val()) { 
  inputValue = input.val().split(', ')
} else {
  inputValue = []; 
};
inputValue.forEach(function(item) {
  innerObj[item] = true;
});

if ($(this).is(':checked')) {
  innerObj[$(this).val()] = true;
} else {
  delete innerObj[$(this).val()];
}
inputValue = Object.keys(innerObj); 
input.val(inputValue.join(', ')); 
});
});

Ссылка на Код

READ ALSO
Остановка рекурсивного setTimeout

Остановка рекурсивного setTimeout

Есть таймер с рекурсией, мне его нужно остановить на определённом моменте, но он продолжает считать дальше

207
Декодирование ссылки

Декодирование ссылки

Есть код, которым нужно взять ссылку, поделить её и использоватьВсё работает нормально, но не с кириллицей

199
Собрать данные с формы с загрузкой файлов

Собрать данные с формы с загрузкой файлов

Необходимо с формы собрать данные по файлам для дальнейшей передачи их AJAX'ом на сервер

202