Reputation: 709
jQuery(function ($) {
$('.confirmbttn').click(function (e) {
e.preventDefault();
// example of calling the confirm function
// you must use a callback function to perform the "yes" action
confirm("", function () {
});
});
});
function confirm(message, callback) {
$('.confirm').modal({
closeHTML: "<a href='#' title='Close' class='modal-close'>x</a>",
position: ["20%",],
overlayId: 'confirm-overlay',
containerId: 'confirm-container',
onShow: function (dialog) {
var modal = this;
$('.message', dialog.data[0]).append(message);
// if the user clicks "yes"
$('.yes', dialog.data[0]).click(function () {
// call the callback
if ($.isFunction(callback)) {
callback.apply();
}
// close the dialog
modal.close(); // or $.modal.close();
});
}
});
}
jQuery(function ($) {
$('.confirmbttn2').click(function (e) {
e.preventDefault();
// example of calling the confirm function
// you must use a callback function to perform the "yes" action
confirm("", function () {
});
});
});
function confirm(message, callback) {
$('.confirm').modal({
closeHTML: "<a href='#' title='Close' class='modal-close'>x</a>",
position: ["20%",],
overlayId: 'confirm-overlay',
containerId: 'confirm-container',
onShow: function (dialog) {
var modal = this;
$('.message', dialog.data[0]).append(message);
// if the user clicks "yes"
$('.yes', dialog.data[0]).click(function () {
// call the callback
if ($.isFunction(callback)) {
callback.apply();
}
// close the dialog
modal.close(); // or $.modal.close();
});
}
});
}
UPDATE: So my code now works fine because I changed the name of my functions. Thanks but now I would like to only use "jQuery(function ($) {..." once. I'm using it twice. How can I combine all of my functions using only one "jQuery(function ($) {..."
jQuery(function ($) {
$('.confirmbttn').click(function (e) {
e.preventDefault();
execChart1("", function () {
});
});
});
function execChart1(message, callback) {
$('.confirm').modal({
closeHTML: "<a href='#' title='Close' class='modal-close'>x</a>",
position: ["20%",],
overlayId: 'confirm-overlay',
containerId: 'confirm-container',
onShow: function (dialog) {
var modal = this;
$('.message', dialog.data[0]).append(message);
// if the user clicks "yes"
$('.yes', dialog.data[0]).click(function () {
// call the callback
if ($.isFunction(callback)) {
callback.apply();
}
// close the dialog
modal.close(); // or $.modal.close();
});
}
});
}
jQuery(function ($) {
$('.confirmbttn1').click(function (e) {
e.preventDefault();
execChart2("", function () {
});
});
});
function execChart2(message, callback) {
$('.confirm1').modal({
closeHTML: "<a href='#' title='Close' class='modal-close'>x</a>",
position: ["20%",],
overlayId: 'confirm-overlay',
containerId: 'confirm-container',
onShow: function (dialog) {
var modal = this;
$('.message', dialog.data[0]).append(message);
// if the user clicks "yes"
$('.yes', dialog.data[0]).click(function () {
// call the callback
if ($.isFunction(callback)) {
callback.apply();
}
// close the dialog
modal.close(); // or $.modal.close();
});
}
});
}
Upvotes: 0
Views: 102
Reputation: 780798
You need to bind a local variable to the instance that was clicked on:
$('.confirmbttn, .confirmbttn2').click(function (e) {
e.preventDefault();
var theButton = this;
// example of calling the confirm function
// you must use a callback function to perform the "yes" action
confirm("", function () {
// Do stuff with theButton
});
});
Upvotes: 1