У меня был этот код обработчика событий jQuery, и я хотел преобразовать его в функцию
$("#activate-user").click(function() {
var userId = [];
$(':checkbox:checked').each(function(i) {
userId[i] = $(this).val();
});
if(userId.length == 0) {
//If userId is empty
} else {
$.ajax({
type: 'POST',
url: 'process.php',
data: 'option=activate&userId='+userId,
success: function(msg){
if(msg == 0) {
//If cannot process the query.
} else {
//If query is processed.
location.reload(true);
}
}
});
}
});
$("#block-user").click(function() {
var userId = [];
$(':checkbox:checked').each(function(i) {
userId[i] = $(this).val();
});
if(userId.length == 0) {
//If userId is empty
} else {
$.ajax({
type: 'POST',
url: 'process.php',
data: 'option=block&userId='+userId,
success: function(msg){
if(msg == 0) {
//If cannot process the query.
} else {
//If query is processed.
location.reload(true);
}
}
});
}
});
Единственная разница между этими двумя обработчиками событий - это значение, то есть option=
data: 'option=activate&userId='+userId
data: 'option=block&userId='+userId
Я хочу, чтобы это преобразовало его в функцию jQuery, для которой я пытался сделать это способом, который вообще не работает,
(function ($) {
jQuery.fn.userOperation = function(opString) {
this.click(function() {
var userId = [];
$(':checkbox:checked').each(function(i){
userId[i] = $(this).val();
});
if(userId.length === 0) {
//If userId is empty.
} else {
$.ajax({
type: 'POST',
url: 'process.php',
data: 'option='+opString+'&userId='+userId,
success: function(msg){
if(msg == 0) {
//If cannot process the query.
} else {
//If query is processed.
location.reload(true);
}
}
});
}
});
}
}(jQuery));
Вызов функции jQuery:
$('#activate-user').userOperation(function() {
return 'block';
});
, похоже, это не работает, так как я неправильно передаю аргумент функции, поскольку я новичок в jQuery, я не уверенКак мне это сделать.куда я иду не так?Какой правильный и возможный способ передачи аргумента в функцию jQuery?
спасибо ..