I'm pretty new on programming trying to create web application which can change the content without loading the menu all over again.
Then i decided to use vertical jquery-ui tabs as a navigator. Using this code
<div id="tabs">
<ul>
<li><center>Market Data</center></li>
<li><a href="t1.htm">For Test 1</a></li>
<li><a href="t2.htm">For Test 2</a></li>
<li><a href="t3.htm">For Test 3</a></li>
</ul>
</div>
The question is this "tabs" of jquery-ui using what mechanic for displaying another htm file inside it AJAX, iframe or what?
Is this a good approach?
And can it handle a complex htm file that involve submit the form, receive a data from web service?
Thank you in advance !
Edit: sorry for not mention this earlier but i want to avoid using AJAX if possible.
You can use "tabs" of jquery-ui. Like this:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Tabs - Default functionality</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"
/>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function () {
$("#tabs").tabs();
});
</script>
</head>
<body>
<div id="tabs">
<ul>
<li><a href="#tabs-1">Nunc tincidunt</a>
</li>
<li><a href="#tabs-2">Proin dolor</a>
</li>
<li><a href="#tabs-3">Aenean lacinia</a>
</li>
</ul>
<div id="tabs-1">
<p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur
nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper
ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus.
Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing.
Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam
molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor
nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
</div>
<div id="tabs-2">
<p>Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante,
ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed
fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut
tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed
ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing
adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel
metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis.
Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod
felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.</p>
</div>
<div id="tabs-3">
<p>Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam
vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue
orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu
ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales.
Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit
ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec,
luctus a, lacus.</p>
<p>Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at,
magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque.
Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede
vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor
eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo.
Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae,
pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo.
Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit
hendrerit.</p>
</div>
</div>
</body>
</html>
The loading of HTML pages is done using AJAX, It is a good approach, you can have HTML page calling web services too.. you would have no issues with that..
For more information please refer http://jquerytools.org/demos/tabs/ajax.html http://jqueryui.com/tabs/#ajax
here you can see the example of tabs in this content come by ajax
jquery ui tabs easily customize according to your requirement
code
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Tabs - Content via Ajax</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"
/>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function () {
$("#tabs").tabs({
beforeLoad: function (event, ui) {
ui.jqXHR.error(function () {
ui.panel.html("Couldn't load this tab. We'll try to fix this as soon as possible. " + "If this wouldn't be a demo.");
});
}
});
});
</script>
</head>
<body>
<div id="tabs">
<ul>
<li><a href="#tabs-1">Preloaded</a>
</li>
<li><a href="ajax/content1.html">Tab 1</a>
</li>
<li><a href="ajax/content2.html">Tab 2</a>
</li>
<li><a href="ajax/content3-slow.php">Tab 3 (slow)</a>
</li>
<li><a href="ajax/content4-broken.php">Tab 4 (broken)</a>
</li>
</ul>
<div id="tabs-1">
<p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur
nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper
ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus.
Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing.
Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam
molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor
nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
</div>
</div>
</body>
</html>