72 lines
2.4 KiB
JavaScript
72 lines
2.4 KiB
JavaScript
/* Created by jankoatwarpspeed.com */
|
||
|
||
$.fn.formToWizard = function(options) {
|
||
options = $.extend({
|
||
submitButton: ""
|
||
}, options);
|
||
|
||
var element = this;
|
||
|
||
var steps = $(element).find("fieldset");
|
||
var count = steps.size();
|
||
var submmitButtonName = "#" + options.submitButton;
|
||
$(submmitButtonName).hide();
|
||
|
||
// 2
|
||
$(element).before("<ul id='steps'></ul>");
|
||
|
||
steps.each(function(i) {
|
||
$(this).wrap("<div id='step" + i + "'></div>");
|
||
$(this).append("<p id='step" + i + "commands'></p>");
|
||
|
||
// 2
|
||
var name = $(this).find("legend").html();
|
||
$("#steps").append("<li id='stepDesc" + i + "'>Adım " + (i + 1) + "<span>" + name + "</span></li>");
|
||
|
||
if (i == 0) {
|
||
createNextButton(i);
|
||
selectStep(i);
|
||
}
|
||
else if (i == count - 1) {
|
||
$("#step" + i).hide();
|
||
createPrevButton(i);
|
||
}
|
||
else {
|
||
$("#step" + i).hide();
|
||
createPrevButton(i);
|
||
createNextButton(i);
|
||
}
|
||
});
|
||
|
||
function createPrevButton(i) {
|
||
var stepName = "step" + i;
|
||
$("#" + stepName + "commands").append("<button type='button' id='" + stepName + "Prev' class='prev btn btn-primary'><i class='icon-chevron-left'></i> Önceki Adım</button> ");
|
||
|
||
$("#" + stepName + "Prev").bind("click", function(e) {
|
||
$("#" + stepName).hide();
|
||
$("#step" + (i - 1)).show();
|
||
$(submmitButtonName).hide();
|
||
selectStep(i - 1);
|
||
});
|
||
}
|
||
|
||
function createNextButton(i) {
|
||
var stepName = "step" + i;
|
||
$("#" + stepName + "commands").append(" <button type='button' id='" + stepName + "Next' class='next btn btn-primary'>Sonraki Adım <i class='icon-chevron-right'></i></button>");
|
||
|
||
$("#" + stepName + "Next").bind("click", function(e) {
|
||
$("#" + stepName).hide();
|
||
$("#step" + (i + 1)).show();
|
||
if (i + 2 == count)
|
||
$(submmitButtonName).show();
|
||
selectStep(i + 1);
|
||
});
|
||
}
|
||
|
||
function selectStep(i) {
|
||
$("#steps li").removeClass("current");
|
||
$("#stepDesc" + i).addClass("current");
|
||
}
|
||
|
||
}
|