This post is about creating a plugin using JQuery.
You may have used many plugins that are developed using jquery and wondered how they are developed,
I expect you to know the basics of jqurey to understand this post but will make it as simple as possible.
This post will explain how to create a simple textbox which is a readonly textbox and getting and setting the value will be done via the methods that we create, there is a method to reset the value as well.
Now lets see the coding, all explanations are given as comments.
// Option gets the option settings or the function name
// value is to get the value for setters
$.fn.CustomTextBox = function (option, value) {
// If options are passed then initialize the textbox
if (typeof (option) == 'object') {
//Append the textbox
//its recommended that you put a class name so that its easy for styling
$(this).append("<input readonly="" type="text" value="" + option.Text + "" />");
//Store the default value in the data so that it can be accessed later
//This method can be used to store the server urls and other setting which needed
//to be accessed later
$(this).data("Default", option.Text);
}
// If a string is passed its assumed that it a method call
else {
//Switch the method based on the string passed
switch (option) {
case "Set":
//If its set then set the value of the textbox
$(this).find("input").val(value);
break;
case "Get":
//If its get the return the value of the textbox
return $(this).find("input").val();
break
case "Reset":
//if its reset the get the default value from the data variable and
//set it to the textbox
$(this).find("input").val($(this).data("Default"));
break;
}
}
}
$(document).ready(function () {
//Initialize the textbox
$("#container").CustomTextBox({ Text: "Default Text" });
$("#btnSetValue").click(function () {
//set the value of the text box
$("#container").CustomTextBox('Set', "New Value");
});
$("#btnGetValue").click(function () {
//get the value of the text box and alert it
alert($("#container").CustomTextBox('Get'));
});
$("#btnResetValue").click(function () {
//reset the value of the text box
$("#container").CustomTextBox('Reset');
});
});
Now lets see the html section
<div id="container"> </div> <input type="button" id="btnSetValue" value="Set Value" /> <input type="button" id="btnGetValue" value="Get Value" /> <input type="button" id="btnResetValue" value="Reset Value" />
So thats how you create a simple Jquery plugin.
Happy Coding :)
-Guru-
No comments:
Post a Comment