[jQuery] Re: Horizontal image carousel w/scrollbar plugin for jQuery?

2009-11-05 Thread tatlar
Hi wshawn,

Yes - I checked out Flowplayer but didn't see a scrollbar progression
along the base of the carousel like in the Dyn-web interface. Unless I
am missing something in the options? I just saw filled or empty dots
to reflect the progress - not a 'slideresque' bar like my client
requires. Please correct me if I am wrong in that assumption.

On Nov 5, 11:18 am, wshawn  wrote:
> Have you considered:http://flowplayer.org/tools/demos/scrollable/index.html
>
> I is one of the most flexible ones I have seen.
> On Nov 5, 11:54 am, tatlar  wrote:
>
> > Hi Karl,
>
> > Thanks for the response. Wow - those solutions are pretty tight.
>
> > The Highpoint site JS source code is slightly easier to read that the
> > Fusionary site, so I will study that.
>
> > Best regards,
> > - Rob
>
> > On Nov 5, 5:32 am, Karl Swedberg  wrote:
>
> > > The jQuery UI Slider is great for this sort of thing. It's not an out-
> > > of-the-box solution, but if you're willing to write some of your own  
> > > code, it can make doing this sort of thing a lot easier.
>
> > > Here are two implementations that I've put together. Nothing  
> > > spectacular, and probably not exactly what you're looking for, but it  
> > > should give you an idea of what can be done:
>
> > >http://www.fusionary.com/http://www.highpointre.com/
>
> > > --Karl
>
> > > 
> > > Karl Swedbergwww.englishrules.comwww.learningjquery.com
>
> > > On Nov 5, 2009, at 12:39 AM, tatlar wrote:
>
> > > > Hi jQuery gurus,
>
> > > > Has anyone seen an equivalent of dyn-web's scrollbar but written on
> > > > top of jQuery?
>
> > > >http://www.dyn-web.com/code/scroll/horiz.php
>
> > > > I have a client who wants this functionality, but I cannot use the  
> > > > dyn-
> > > > web as it conflicts with the jQuery plugins that I am currently using.
> > > > I assume it is due to how events are registered and handled.
>
> > > > I have searched all over but cannot find (a) an image carousel that is
> > > > controlled with an onmouse event (they are all onclick events), and
> > > > (b) the scrollbar progression beneath the carousel as the user moves
> > > > horizontally through the gallery.
>
> > > > I am more than happy to attempt to write my own, but if anyone knows
> > > > of any pointers to get me started I would be most grateful.
>
> > > > FWIW I am currently using the jCarouselLite plugin, which is great,
> > > > but just not _exactly_ what the client wants.
>
> > > > Thanks in advance.


[jQuery] Re: search list in a div for attribute value

2009-08-28 Thread tatlar

Oops. This sentence:
"I want to traverse the array, looking at the title attribute, and if
it is in the array $search I want the style changed. "
Should be:
"I want to traverse the list, looking at the title attribute, and if
it is in the array $search I want the style changed."

And this:

var $title_to_search = value;
// pseudo code I know this is junk
$gallery.find('li').attr('title',$title).css('background-
color','red');

Should be:
var $title_to_search = value;
// pseudo code I know this is junk
$gallery.find('li').attr('title',$title_to_search).css('background-
color','red');


On Aug 28, 1:27 pm, tatlar  wrote:
> i think this is a pretty simple question, but i can't seem to figure
> it out.
>
> i have a list in a div:
>
> 
> 
>   foo
>   bar
>   unicorn
> 
> 
>
> I have an array with values in it:
>
> var $search = [ "foo", "bar" ] ;
>
> I want to traverse the array, looking at the title attribute, and if
> it is in the array $search I want the style changed.
> Note that #gallery has about 450 list items - the one above is
> abridged for this post.
> The array $search will at most have 5 items.
>
> So, is it faster to do a $.each() on the list items, or do a $.each()
> on the $search items. I am pretty sure it is faster to do the latter,
> but I am not sure how to get the title attribute from the list items
> for the match.
>
> Something like?
>
> $.each( $search, function(i, value) {
>     var $title_to_search = value;
>     // pseudo code I know this is junk
>     $gallery.find('li').attr('title',$title).css('background-
> color','red');
>
> });
>
> Can someone refine this for me? Thanks in advance.


[jQuery] search list in a div for attribute value

2009-08-28 Thread tatlar

i think this is a pretty simple question, but i can't seem to figure
it out.

i have a list in a div:



  foo
  bar
  unicorn



I have an array with values in it:

var $search = [ "foo", "bar" ] ;

I want to traverse the array, looking at the title attribute, and if
it is in the array $search I want the style changed.
Note that #gallery has about 450 list items - the one above is
abridged for this post.
The array $search will at most have 5 items.

So, is it faster to do a $.each() on the list items, or do a $.each()
on the $search items. I am pretty sure it is faster to do the latter,
but I am not sure how to get the title attribute from the list items
for the match.

Something like?

$.each( $search, function(i, value) {
var $title_to_search = value;
// pseudo code I know this is junk
$gallery.find('li').attr('title',$title).css('background-
color','red');
});

Can someone refine this for me? Thanks in advance.


[jQuery] Re: search list in a div for attribute value

2009-08-28 Thread tatlar

Hmm. Would this be expected to work?

$gallery.find('li[title='+$title_to_searchl+']').css('color','red');

On Aug 28, 1:31 pm, tatlar  wrote:
> Oops. This sentence:
> "I want to traverse the array, looking at the title attribute, and if
> it is in the array $search I want the style changed. "
> Should be:
> "I want to traverse the list, looking at the title attribute, and if
> it is in the array $search I want the style changed."
>
> And this:
>
> var $title_to_search = value;
> // pseudo code I know this is junk
> $gallery.find('li').attr('title',$title).css('background-
> color','red');
>
> Should be:
> var $title_to_search = value;
> // pseudo code I know this is junk
> $gallery.find('li').attr('title',$title_to_search).css('background-
> color','red');
>
> On Aug 28, 1:27 pm, tatlar  wrote:
>
>
>
> > i think this is a pretty simple question, but i can't seem to figure
> > it out.
>
> > i have a list in a div:
>
> > 
> > 
> >   foo
> >   bar
> >   unicorn
> > 
> > 
>
> > I have an array with values in it:
>
> > var $search = [ "foo", "bar" ] ;
>
> > I want to traverse the array, looking at the title attribute, and if
> > it is in the array $search I want the style changed.
> > Note that #gallery has about 450 list items - the one above is
> > abridged for this post.
> > The array $search will at most have 5 items.
>
> > So, is it faster to do a $.each() on the list items, or do a $.each()
> > on the $search items. I am pretty sure it is faster to do the latter,
> > but I am not sure how to get the title attribute from the list items
> > for the match.
>
> > Something like?
>
> > $.each( $search, function(i, value) {
> >     var $title_to_search = value;
> >     // pseudo code I know this is junk
> >     $gallery.find('li').attr('title',$title).css('background-
> > color','red');
>
> > });
>
> > Can someone refine this for me? Thanks in advance.


[jQuery] Re: search list in a div for attribute value

2009-08-28 Thread tatlar

Oops. This sentence:

"I want to traverse the array, looking at the title attribute, and if
it is in the array $search I want the style changed. "

Should be:

"I want to traverse the list, looking at the title attribute, and if
it is in the array $search I want the style changed."

On Aug 28, 1:27 pm, tatlar  wrote:
> i think this is a pretty simple question, but i can't seem to figure
> it out.
>
> i have a list in a div:
>
> 
> 
>   foo
>   bar
>   unicorn
> 
> 
>
> I have an array with values in it:
>
> var $search = [ "foo", "bar" ] ;
>
> I want to traverse the array, looking at the title attribute, and if
> it is in the array $search I want the style changed.
> Note that #gallery has about 450 list items - the one above is
> abridged for this post.
> The array $search will at most have 5 items.
>
> So, is it faster to do a $.each() on the list items, or do a $.each()
> on the $search items. I am pretty sure it is faster to do the latter,
> but I am not sure how to get the title attribute from the list items
> for the match.
>
> Something like?
>
> $.each( $search, function(i, value) {
>     var $title_to_search = value;
>     // pseudo code I know this is junk
>     $gallery.find('li').attr('title',$title).css('background-
> color','red');
>
> });
>
> Can someone refine this for me? Thanks in advance.


[jQuery] Re: Using namespaced event bindings for multiple $.ajax() calls.

2009-04-21 Thread tatlar

This thread helped me solve the problem, in particular Mike Alsups
awesome comment on adding new properties to the .ajax() method. Very
nice Mike!

http://groups.google.com/group/jquery-en/browse_thread/thread/f6b723f6119f1ada/9ceea36b6e0f0e06?hl=en&lnk=gst&q=multiple+ajax+calls#9ceea36b6e0f0e06

On Apr 16, 3:10 pm, tatlar  wrote:
> Hi there,
>
> I have an application with multiple $.ajax() calls:
>
> (1) When the page loads, an $.ajax() call grabs and parses a JSON
> object.
> (2) When a link is clicked, an $.ajax() call sends a query to a PHP
> page, which returns a JSON object, which is then parsed and displayed.
>
> I have been having problems because both these events have little
> spinning icons in different parts of the page to show that an AJAX
> query is taking place. I am doing this using the bind() function to a
> ajaxSend() namespaced event. I have the (#2) working, by doing the
> following:
>
> $("a").bind( 'click.getReport', function() {
>     $.ajax({
>         type: "GET",
>         url: "my.php",
>         dataType: "json",
>         global: true,
>         data: { var1:a, var2:b, var3:c },
>        success: function() {},
>        error: function() {}
>     });
>
> }
>
> and
>
> $("#report").bind("ajaxSend.getReport",function(){
>     $(this).html('Selected reportLOADING...');
>
> });
>
> where #report is the DIV that shows the status on the page.
>
> However, I have not solved the issue of applying a namespaced event
> handler to a low-level $.ajax() call that occurs when the page loads
> (#1). I have searched online for this, but to no avail - everything
> seems to relate to if you are writing you own plugin or just binding
> to a click event. I need to somehow bind the $.ajax call to a
> namespaced event. The $.ajax() options list does not seem to have an
> entry for namespacing, so where do I add it?
>
> Here is the code I currently have:
>
> $(document).ready(function(){
>     $.ajax({
>         type: "GET",
>         url: "/cachexml/json/stalist.json",
>         dataType: "json",
>         global: false,
>         success: function() {},
>         error: function() {}
>     });
>
> });
>
> and
>
> $("#dynamicReport").bind("ajaxSend.getList",function(){
>     $(this).html('');
>
> });
>
> You can see I have the getList class in the binding - but where in the
> jQuery $.ajax() code do I reference this? Notice also that I have
> global set to true in the 'getReport' namespaced event and set to
> false in the 'getList' namespaced event. If I set 'getReport' to
> global: false, it no longer works. Clearly I am not doing something
> right!
>
> Thanks for any help - I have given up searching online and am getting
> desperate!


[jQuery] Re: clueTip plugin - onClose option in the API?

2009-04-17 Thread tatlar

Brilliant! Thanks Karl! Have a great weekend and thanks for writing
such a sweet jquery plugin.

On Apr 16, 6:38 pm, Karl Swedberg  wrote:
> Hi there,
>
> The plugin already has an onHide option. I just fixed it so that  
> within onHide's anonymous function "this" will be the invoking element.
>
> so, your additional option would be :
>
>    onHide: function() {
>      $(this).parent().removeClass('selectedCell');
>    })
>
> You can grab the updated plugin on GitHub:
>
> http://github.com/kswedberg/jquery-cluetip/tree/master
>
> --Karl
>
> 
> Karl Swedbergwww.englishrules.comwww.learningjquery.com
>
> On Apr 16, 2009, at 1:51 PM, tatlar wrote:
>
>
>
> > Hi there,
>
> > I am using Karl's clueTip plugin in a table. When the user clicks a
> > link in the table, the clueTip pops up, and the CSS of the table cell
> > changes using the addClass method (adds a class called
> > 'selectedCell'). This is all well and groovy, but what I want to do in
> > addition, is that when the user closes the clueTip window, the CSS of
> > the selected table cell reverts to its previous class. I was looking
> > for an onClose in the clueTip API options list and could not find
> > one.
>
> > Does anyone know how I could achieve this desired behavior? What I
> > have right now is that when the user clicks one cell all the current
> > table cells are reset (have the class removed) and then a class is
> > applied ('selectedCell'). When another a link is clicked in the table,
> > all the current table cells with that class have it removed, and the
> > newly clicked cell has the class applied:
>
> > $("a.jTip").click( function() {
> >    $('table tbody tr td').removeClass('selectedCell');
> >    $(this).parent().addClass('selectedCell');
> > }
>
> > clueTip is called thus:
>
> > $("a.jTip").cluetip({
> >    cluetipClass: 'jtip',
> >    arrows: true,
> >    hoverIntent: false,
> >    mouseOutClose: true,
> >    sticky: true,
> >    activation: 'click',
> >    splitTitle: '|',
> >    closeText: 'X',
> >    closePosition: 'title',
> >    tracking: true,
> >    showTitle: true
> > }) ;
>
> > I want to add another option (in pseudo-code):
> >    onClose: function(e) {
> >        e.parent().removeClass('selectedCell')
> >    }
>
> > Is this worth modifying the plugin for? Am I even going about this the
> > right way? Thanks in advance.


[jQuery] Re: Autocomplete plugin for multiple form fields from a JSON source [autocomplete]

2009-04-16 Thread tatlar

Hi Tom,

Thanks for the ideas. Unfortunately there is a fundamental issue with
my JSON file that I returning and how the autocomplete plugin handles
input.

The JSON file is an object. Jorn's autocomplete plugin only handles
arrays (see here:http://docs.jquery.com/Plugins/Autocomplete). Notice
this sentence in particular:

"For local autocomplete, just pass the data as an array to the
autocomplete plugin."

Passing autocomplete a complex object (such as my JSON file) causes
the browser to hang with multiple queries, due to how autocomplete
automagically parses the information it is given to a URL string, and
it expects an array. I checked a couple of times, and the console log
just spins wildly! :)

It is not the fault of the plugin - it is just me putting the wrong
data type into it.

So, I got around this by creating another JSON file that is just an
array of station names. Autocomplete now parses this just fine, and my
first field is completed. The next part was more tricky - how to
populate the second input field based on the number of report types (I
actually ended up using a  element with the  list
populated with the reports available. My solution is pretty inelegant,
but uses a nice option in Jorns plugin, the result() option (http://
docs.jquery.com/Plugins/Autocomplete/result#handler). Using this, I
can get the match from the first autocomplete call, and write a
callback function that then goes via AJAX to my original complex JSON
object to just get the matching stations object. It is a little long
winded (I iterate over every station in the original JSON object) and
I am sure John Resig would write it much much more nicely, but it
works in about 20ms!

Here is the code:

$(function(){
$.ajax({
type: "GET",
url: "/path/to/simple_array_of_station_names.json",
dataType: "json",
global: false,
success: function(data) {
$.each(data, function() {
$("#stacode").autocomplete(this).result( function
( event, data, mysta ) {
$("#dynamicReport").html( "" ) ;
// Check I am getting the correct station as
selected by autocomplete plugin
// console.log( mysta ) ;
// Use that in the larger JSON object that has all
the report types and times
$.ajax({
type: "GET",
url: "/path/to/reports.json",
dataType: "json",
global: false,
success: function( reports ) {
/*
   NOTE:
   Not sure why $.each(reports.stations.mysta,
function( repSta,repStaObj ) {} ) ;
   does not work - any ideas anyone? It is a
valid way to get the matching station
   in the JSON structure, right? Oh well, lets
just iterate over the whole thing with $.each()
*/
$.each(reports.stations, function
( repSta,repStaObj ) {
// The matching station
if( repSta === mysta ) {
// Quick and dirty DOM markup,
purists look away
var selection =
'   Report ' ;
$.each(repStaObj, function
( repStaRepsTypes, repStaRepsTimes ) {
console.log( "Type is:
"+repStaRepsTypes+" Time is: "+repStaRepsTimes );
selection +=
""+repStaRepsTypes+"" ;
});
selection += '   ' ;
// Update the  element with
the select box
$("#dynamicReport").html
( selection ) ;
}
});
},
error: function() {
alert( "Could not load the available
report list" ) ;
}
});
});
});
},
error: function() {
alert( "Could not load station list for form
autocomplete" ) ;
}
});
});

The inline HTML looks like:



Shortcut to view a stations reports:
Stacode 






So that is my solution. Not pretty. But it works. If anyone would like
to pipe in and tell me where I could improve it, I am all ears!!!

Thanks for the ideas and feedback.

On Apr 15, 5:40 pm, Tom Worster  wrote:
> i have an ajax backend onto a mysql table with about 25 million rows,
> including three searchable indexed text columns. i want a form with three
> text input fields, each with autocomplete.
>
> 1) if all fields are blank when the user starts to type into one of them
> then normal autocomplete happens

[jQuery] Using namespaced event bindings for multiple $.ajax() calls.

2009-04-16 Thread tatlar

Hi there,

I have an application with multiple $.ajax() calls:

(1) When the page loads, an $.ajax() call grabs and parses a JSON
object.
(2) When a link is clicked, an $.ajax() call sends a query to a PHP
page, which returns a JSON object, which is then parsed and displayed.

I have been having problems because both these events have little
spinning icons in different parts of the page to show that an AJAX
query is taking place. I am doing this using the bind() function to a
ajaxSend() namespaced event. I have the (#2) working, by doing the
following:

$("a").bind( 'click.getReport', function() {
$.ajax({
type: "GET",
url: "my.php",
dataType: "json",
global: true,
data: { var1:a, var2:b, var3:c },
   success: function() {},
   error: function() {}
});
}

and

$("#report").bind("ajaxSend.getReport",function(){
$(this).html('Selected reportLOADING...');
});

where #report is the DIV that shows the status on the page.

However, I have not solved the issue of applying a namespaced event
handler to a low-level $.ajax() call that occurs when the page loads
(#1). I have searched online for this, but to no avail - everything
seems to relate to if you are writing you own plugin or just binding
to a click event. I need to somehow bind the $.ajax call to a
namespaced event. The $.ajax() options list does not seem to have an
entry for namespacing, so where do I add it?

Here is the code I currently have:

$(document).ready(function(){
$.ajax({
type: "GET",
url: "/cachexml/json/stalist.json",
dataType: "json",
global: false,
success: function() {},
error: function() {}
});
});

and

$("#dynamicReport").bind("ajaxSend.getList",function(){
$(this).html('');
});

You can see I have the getList class in the binding - but where in the
jQuery $.ajax() code do I reference this? Notice also that I have
global set to true in the 'getReport' namespaced event and set to
false in the 'getList' namespaced event. If I set 'getReport' to
global: false, it no longer works. Clearly I am not doing something
right!

Thanks for any help - I have given up searching online and am getting
desperate!


[jQuery] clueTip plugin - onClose option in the API?

2009-04-16 Thread tatlar

Hi there,

I am using Karl's clueTip plugin in a table. When the user clicks a
link in the table, the clueTip pops up, and the CSS of the table cell
changes using the addClass method (adds a class called
'selectedCell'). This is all well and groovy, but what I want to do in
addition, is that when the user closes the clueTip window, the CSS of
the selected table cell reverts to its previous class. I was looking
for an onClose in the clueTip API options list and could not find
one.

Does anyone know how I could achieve this desired behavior? What I
have right now is that when the user clicks one cell all the current
table cells are reset (have the class removed) and then a class is
applied ('selectedCell'). When another a link is clicked in the table,
all the current table cells with that class have it removed, and the
newly clicked cell has the class applied:

$("a.jTip").click( function() {
$('table tbody tr td').removeClass('selectedCell');
$(this).parent().addClass('selectedCell');
}

clueTip is called thus:

$("a.jTip").cluetip({
cluetipClass: 'jtip',
arrows: true,
hoverIntent: false,
mouseOutClose: true,
sticky: true,
activation: 'click',
splitTitle: '|',
closeText: 'X',
closePosition: 'title',
tracking: true,
showTitle: true
}) ;

I want to add another option (in pseudo-code):
onClose: function(e) {
e.parent().removeClass('selectedCell')
}

Is this worth modifying the plugin for? Am I even going about this the
right way? Thanks in advance.


[jQuery] Re: Autocomplete plugin for multiple form fields from a JSON source [autocomplete]

2009-04-15 Thread tatlar

Thanks Tom! Digesting now feedback after checking it out. Much
obliged.

On Apr 15, 5:40 pm, Tom Worster  wrote:
> i have an ajax backend onto a mysql table with about 25 million rows,
> including three searchable indexed text columns. i want a form with three
> text input fields, each with autocomplete.
>
> 1) if all fields are blank when the user starts to type into one of them
> then normal autocomplete happens on that field, independent of the others.
>
> 2) but if the user focuses on an empty field after an autocomplete selection
> has been made in one or both of the other fields then a list of all distinct
> values in that column of the big table, constrained by the selection(s)
> already made, is immediately displayed without any typing.
>
> each of the three fields has class 'auto' and there are three blocks like
> this one:
>
> $('#field1').autocomplete('suggest.php', {
>   extraParams: {
>     p: 'field1',
>     field2: function() { return $('#field2').data('chosen')
>         ? $('#field2').val() : ''; },
>     field3: function() { return $('#field3').data('chosen')
>         ? $('#field3').val() : ''; } } });
>
> so the back end can figure what's being looked for and what the constraints
> are, if any.
>
> to make a list of suggestions display on focus for 2) i have:
>
> var lastfocus = '';
> $('.auto').setOptions({ minChars: 2}).focus(function(){
>
>   if ( lastfocus != $(this).attr('id')
>        && $(this).val() == ''
>        && ( $('#field').data('chosen')
>             || $('#field2').data('chosen')
>             || $('#field3').data('chosen') ) )
>     $(this).data('chosen', false).setOptions(
>       {minChars: 0}).trigger('click').trigger('click');
>   else
>     $(this).setOptions({minChars: 2});
>   lastfocus = $(this).attr('id');}).change(function(){
>
>   $(this).data('chosen', false);
>   lastfocus = $(this).attr('id');}).result(function(){
>
>   $(this).data('chosen', true);
>
> });
>
> lastfocus is a hack: the focus event on a field triggers after a selection
> is made by clicking. i.e. with mouse selection focus moves to the list and
> then back to the text field. lastfocus deals with that.
>
> the 'chosen' data on each field indicates if the value in that field is one
> selected from the big table.
>
> two clicks are needed after setting minChars to 0 to display the list of
> suggestions. this is a quirk of the plugin.
>
> this is my first version of a script that seems to work in a way that
> wouldn't be too surprising to an unprepared user. i haven't given it much
> testing yet. comments and improvements would be welcomed.
>
> tom


[jQuery] Re: Autocomplete plugin for multiple form fields from a JSON source [autocomplete]

2009-04-15 Thread tatlar

Thanks Tom! Digesting now feedback after checking it out. Much
obliged.

On Apr 15, 5:40 pm, Tom Worster  wrote:
> i have an ajax backend onto a mysql table with about 25 million rows,
> including three searchable indexed text columns. i want a form with three
> text input fields, each with autocomplete.
>
> 1) if all fields are blank when the user starts to type into one of them
> then normal autocomplete happens on that field, independent of the others.
>
> 2) but if the user focuses on an empty field after an autocomplete selection
> has been made in one or both of the other fields then a list of all distinct
> values in that column of the big table, constrained by the selection(s)
> already made, is immediately displayed without any typing.
>
> each of the three fields has class 'auto' and there are three blocks like
> this one:
>
> $('#field1').autocomplete('suggest.php', {
>   extraParams: {
>     p: 'field1',
>     field2: function() { return $('#field2').data('chosen')
>         ? $('#field2').val() : ''; },
>     field3: function() { return $('#field3').data('chosen')
>         ? $('#field3').val() : ''; } } });
>
> so the back end can figure what's being looked for and what the constraints
> are, if any.
>
> to make a list of suggestions display on focus for 2) i have:
>
> var lastfocus = '';
> $('.auto').setOptions({ minChars: 2}).focus(function(){
>
>   if ( lastfocus != $(this).attr('id')
>        && $(this).val() == ''
>        && ( $('#field').data('chosen')
>             || $('#field2').data('chosen')
>             || $('#field3').data('chosen') ) )
>     $(this).data('chosen', false).setOptions(
>       {minChars: 0}).trigger('click').trigger('click');
>   else
>     $(this).setOptions({minChars: 2});
>   lastfocus = $(this).attr('id');}).change(function(){
>
>   $(this).data('chosen', false);
>   lastfocus = $(this).attr('id');}).result(function(){
>
>   $(this).data('chosen', true);
>
> });
>
> lastfocus is a hack: the focus event on a field triggers after a selection
> is made by clicking. i.e. with mouse selection focus moves to the list and
> then back to the text field. lastfocus deals with that.
>
> the 'chosen' data on each field indicates if the value in that field is one
> selected from the big table.
>
> two clicks are needed after setting minChars to 0 to display the list of
> suggestions. this is a quirk of the plugin.
>
> this is my first version of a script that seems to work in a way that
> wouldn't be too surprising to an unprepared user. i haven't given it much
> testing yet. comments and improvements would be welcomed.
>
> tom


[jQuery] Re: Autocomplete plugin for multiple form fields from a JSON source [autocomplete]

2009-04-15 Thread tatlar

Hi Tom,

Thanks for the reply. It is the former. I am perfectly comfortable
with parsing JSON formatted data.
I would be very happy to read what you have been working on.

Best regards.

On Apr 15, 4:47 pm, Tom Worster  wrote:
> On 4/15/09 2:27 PM, "tatlar"  wrote:
>
> > I am using Jorn's awesome autocomplete plugin in one form field to
> > allow a user to quickly narrow down which station they wish to view
> > visit times for. However, it would be really cool to extend this so
> > that when the selection is narrowed to one station, there is another
> > form input field listing all the available visit types that is
> > populated from the JSON file as well.
>
> is your question more to do with how to trigger and control the display of
> suggestions for the "another form input field" when a selection in the "one
> form field" is made? or is it more about using json formatted data?
>
> if the former, i've been working on that recently and could discuss what
> i've found.


[jQuery] Re: A little help needed with form processing and page redirects

2009-04-15 Thread tatlar

You want an event fired when the user clicks the submit button.

Look here: http://docs.jquery.com/Events/submit#fn

That example should get you going.

Now there are two scenarios for you to choose from:

(1) When the submit button is clicked, you want to call an ajax
method, passing all the form parameters, with the method GET or POST,
to a PHP page that determines which answers are correct, returning a
data structure that you can then parse.
Look here: http://docs.jquery.com/Ajax
There is a method for just using POST (jQuery.post()) but I would be
inclined to use the main jQuery.ajax() method - it gives you more
control, with timeout and error handling.
When the data is successfully returned, you parse the data structure
using jQuery.each().

(2) All the correct answers are in an object already on your page in
the header, something like:

var answers = {
"q1":"2",
"q2":"3",
"q3":"1",
"q4":"4"
}

Then this is just a question of using $.each() (http://docs.jquery.com/
Utilities/jQuery.each#objectcallback) to iterate over this 'answers'
object, comparing with what was sent when the submit button was
clicked.

When you have your result, create a  element with the score. See
the Manipulation section of the help: http://docs.jquery.com/Attributes/html
You can get fancy with fade in effects (http://docs.jquery.com/
Effects) if you like.

If you need to redirect to one of four pages, use replaceWith()
(http://docs.jquery.com/Manipulation/replaceWith#content) and
everything, although I don't think this is a particularly elegant
approach.

My preference would be to go for the AJAX solution, since you can use
the same PHP code you have already, but just pass an extra variable in
the query string, like returnStatus=True for a Javascript query and
returnStatus=False for a PHP query. Then in your PHP logic, if you see
returnStatus=True you return a PHP array to the initial form page, and
if not, you echo out the result as normal.

HTH

On Apr 15, 8:32 am, "poundcommapo...@gmail.com"
 wrote:
> Hi. I have what I feel like should be a simple problem, but I'm having
> a hard time sorting it out. The page is located 
> here:http://staging.pixelluxe.com/tbs/
> I apologize in advance that all the code is on one line - client
> request (also, the inline styles are their requirement).
>
> Anyway, this is a simple quiz. There are 8 multiple-choice questions
> in sets of radio groups. Each radio group has four possible answers
> with values of 1, 2, 3, or 4.
>
> On submit, I need a script to add up the user's selections and
> redirect the user to 1 of 4 pages depending on the total score. I'm
> currently doing it with a simple PHP script and meta-refresh, but the
> client wants a client-side solution, with the PHP only as a backup if
> JavaScript is disabled.
>
> Anyone know how to make that happen? Thanks so much.


[jQuery] Autocomplete plugin for multiple form fields from a JSON source [autocomplete]

2009-04-15 Thread tatlar

Hi there,

I have a nicely formatted JSON file that looks like:

{
   "stations" : {
  "F07A" : {
 "calibration" : "1212797922",
 "construction" : "1152736320",
 "calibrationplot" : 158922,
 "service" : [
"1186011098",
"1209718352",
"1213577558",
"1214081337",
"1220576523"
 ],
 "installation" : "1157069307"
  },
 
  "S08C" : {
 "dlevent" : "1196697107",
 "removal" : "1192723069",
 "service" : [
"1127293181",
"1154632570",
"1157479149"
 ],
 "installation" : "1123277295"
  }
   }
}

It consists of the 'stations' object, with keys that are station
names, then an object that has station visit type and an associated
timestamp. If there is more than one visit, then an array is created
(such as 'service' in my snippet above).

I am using Jorn's awesome autocomplete plugin in one form field to
allow a user to quickly narrow down which station they wish to view
visit times for. However, it would be really cool to extend this so
that when the selection is narrowed to one station, there is another
form input field listing all the available visit types that is
populated from the JSON file as well. I have seen this with simple
javascript arrays  from way back (eg: 
http://www.plus2net.com/php_tutorial/dd3.php)
but I was wondering if anyone has implemented such as setup using the
autocomplete plugin (or another plugin).

I see in the plugin API there is a 'multiple' option, but that appears
to be for the same text field. I guess I will have to write a call-
back function when autocomplete narrows the search to one in the first
input field, but I am not sure how to bind them. Any ideas?

Thanks in advance.


[jQuery] Re: Block UI modal window message incremental update

2009-03-06 Thread tatlar

Okay - thanks. I am still getting my head around how jQuery adds to
the DOM, and where and when I can inject messages to make the user-
interface slightly more pleasant. I appreciate you taking the time to
help me out.

Regards,
- Rob

On Mar 6, 11:47 am, Mike Alsup  wrote:
> > $.ajax({
> >     type: "GET",
> >     url: "/path/to/jsonfile.js",
> >     datatype: "json",
> >     success:
> >         // lots of code to parse and display
> >         $.each(json.object, function(key,array){
> >             // lots of code to parse and display
> >             incr++;
> >             if( incr % 10 === 0 ) {
> >                 $('#loaderCounter').text(' (loaded '+incr+' rows)');
> >             }
> >         });
> >         hideLoading();
> > });
>
> The problem with that is that changing DOM content while in a tight
> loop isn't necessarily going to be honored by the browser (until the
> current thread returns).  If you want a reliable x-browser solution
> you need to introduce an asynchronous step so that the browser takes
> time to render the change.


[jQuery] Re: Block UI modal window message incremental update

2009-03-06 Thread tatlar

Hi Mike,

Thanks for the help, and for writing a great plugin (blockUI).

Unfortunately this didn't work.

I am using a modulus operator so the content does not update on every
row, but even so, I just get the browser loading icon while the AJAX
content is added. I get one change to the message window when 380 rows
have been added, and this is right before the table has finished
loading all its content.

The code I have is as follows:

function showLoading(){
$("#status").show("fast");
$.blockUI({ message:'App is loading .Please be patient...'});
}
function hideLoading(){
$("#status").hide(1000);
$.unblockUI();
}

These are called as the table loads and when it finishes loading:

var incr = 0;

showLoading();

$.ajax({
type: "GET",
url: "/path/to/jsonfile.js",
datatype: "json",
success:
// lots of code to parse and display
$.each(json.object, function(key,array){
// lots of code to parse and display
incr++;
if( incr % 10 === 0 ) {
$('#loaderCounter').text(' (loaded '+incr+' rows)');
}
});
hideLoading();
});

Any ideas? I can give you a URL if that helps, although the relevant
(simplified) code is pasted above.

Thanks in advance
- Rob

On Mar 5, 6:39 pm, Mike Alsup  wrote:
> > What I really want is for the user to see how many rows have been
> > added out of the total number of rows in the BlockUI message. This
> > would look like:
>
> > Application has loaded 1 of 400 rows
> > Application has loaded 2 of 400 rows
> > ...
> > Application has loaded n of 400 rows
>
> > It might even be better as increments of ten so it is not constantly
> > updating.
>
> > Application has loaded 10 of 400 rows
> > Application has loaded 20 of 400 rows
> > ...
> > Application has loaded n of 400 rows
>
> > Right now I have a variable with the total number of rows and also a
> > variable that get incremented with the row number, but I can't see how
> > to bind the BlockUI message with these variables. The BlockUI API
> > documentation says that the message can be a jQuery object, but I
> > cannot see how to make the bind().
>
> > Any ideas? Thanks in advance.
>
> Sure.  Just do something like this:
>
> $.blockUI({
>     message: $('')
>
> });
>
> Then in your loop that increments the rows, do this:
>
> $('#counter').html('App has loaded '+rows+ ' rows');


[jQuery] Block UI modal window message incremental update

2009-03-05 Thread tatlar

Hi All,

I am adding table rows to a table via an AJAX call using $.each().
While the table rows are appended to the table, I am using the BlockUI
plugin to display a message saying 'Application is loading'. BlockUI
is unblocked when the table displays all the rows. Great - all is
working as expected.

What I really want is for the user to see how many rows have been
added out of the total number of rows in the BlockUI message. This
would look like:

Application has loaded 1 of 400 rows
Application has loaded 2 of 400 rows
...
Application has loaded n of 400 rows

It might even be better as increments of ten so it is not constantly
updating.

Application has loaded 10 of 400 rows
Application has loaded 20 of 400 rows
...
Application has loaded n of 400 rows

Right now I have a variable with the total number of rows and also a
variable that get incremented with the row number, but I can't see how
to bind the BlockUI message with these variables. The BlockUI API
documentation says that the message can be a jQuery object, but I
cannot see how to make the bind().

Any ideas? Thanks in advance.


[jQuery] Re: Multiple JSON objects - using results from one JSON object within a $.each() parse of another JSON object

2009-02-27 Thread tatlar

Okay - I have figured it out. I needed to reformat the first JSON
query into a $.ajax() query, and then ONLY call the second $.getJSON()
query on an AJAX.success() method.
Thanks for the pointers

On Feb 27, 9:53 am, tatlar  wrote:
> I found this Async plugin that I think might do the 
> trick:http://plugins.jquery.com/project/async
>
> On Feb 27, 9:18 am, tatlar  wrote:
>
> > Huh. I am still getting zero values added to the myStations object. I
> > think my syntax for adding to an object is wrong. Any suggestions
> > anyone?
>
> > On Feb 27, 8:43 am, tatlar  wrote:
>
> > > Thanks Stephan - I will take a look at your suggestion. Thanks for the
> > > heads up about the return statement - PHP function habits die hard
>
> > > On Feb 27, 12:38 am, Stephan Veigl  wrote:
>
> > > > Hi,
>
> > > > first of all, AJAX is _asynchronous_, do you have any mechanism that
> > > > ensures that the stations callback is executed _before_ the
> > > > _dataloggers_ callback? (e.g. requesting datalogger once myStations
> > > > has been filled)
>
> > > > If you use myStations in both callbacks is should be a global
> > > > variable. (I know, global variables are no good programming practice.
> > > > So either put all your global variables into one global object to
> > > > reduce namespace pollution or have it global in the scope of the
> > > > callbacks).
>
> > > > Would the additional "snet": "TA" variable hurt in myStations?
> > > > If not, simply link the json result to myStations:
>
> > > > var myStations = {} ;
> > > > $.getJSON("path/to/stations.js", function(stalist) {
> > > >    $.each(stalist.stations, function(staname,stavalues){
> > > >        var myStaTitle = stavalues.snet+"_"+staname ;
> > > >        myStations[myStaTitle] = stavalues;
> > > >    });
>
> > > > });
>
> > > > I also noticed that you have a return statement in your callback. For
> > > > whom this return should be? The callback is executed within jQuery on
> > > > success of your AJAX request. jQuery does not know of your return
> > > > value.
>
> > > > by(e)
> > > > Stephan
>
> > > > 2009/2/27 tatlar :
>
> > > > > Attempt to post again.
>
> > > > > Hi All,
>
> > > > > I have a JSON object (called 'dataloggers') that I am retrieving via
> > > > > $.getJSON, and then creating a  dynamically with the results .
> > > > > I can parse it just fine with $.each().
>
> > > > > The structure looks like this:
>
> > > > > {
> > > > >    "dataloggers": {
> > > > >        "TA_124A": {
> > > > >            "values": {
> > > > >                "one": "wake",
> > > > >                "two": "up",
> > > > >                "three": "time",
> > > > >                "four": "to",
> > > > >                "five": "die"
> > > > >            }
> > > > >        },
> > > > >        "TA_109C": {
> > > > >            "values": {
> > > > >                "one": "this",
> > > > >                "two": "is",
> > > > >                "three": "not",
> > > > >                "four": "a",
> > > > >                "five": "test"
> > > > >            }
> > > > >        }
> > > > >    }
> > > > > }
>
> > > > > Here is the code I have for processing the 'dataloggers' JSON object:
>
> > > > > $.getJSON("path/to/dataloggers.js", function(dlmon) {
> > > > >    $.each(dlmon.dataloggers, function(dlname,arr){
> > > > >        var tBodyRow = "";
> > > > >        tBodyRow += ''+dlname+'' ;
> > > > >        $.each(arr.values, function(vKey,vVal){
> > > > >            tBodyRow += ''+vKey+': '+vVal+'' ;
> > > > >        });
> > > > >        tBodyRow += "" ;
> > > > >        $("table#

[jQuery] Re: Multiple JSON objects - using results from one JSON object within a $.each() parse of another JSON object

2009-02-27 Thread tatlar

I found this Async plugin that I think might do the trick:
http://plugins.jquery.com/project/async

On Feb 27, 9:18 am, tatlar  wrote:
> Huh. I am still getting zero values added to the myStations object. I
> think my syntax for adding to an object is wrong. Any suggestions
> anyone?
>
> On Feb 27, 8:43 am, tatlar  wrote:
>
> > Thanks Stephan - I will take a look at your suggestion. Thanks for the
> > heads up about the return statement - PHP function habits die hard
>
> > On Feb 27, 12:38 am, Stephan Veigl  wrote:
>
> > > Hi,
>
> > > first of all, AJAX is _asynchronous_, do you have any mechanism that
> > > ensures that the stations callback is executed _before_ the
> > > _dataloggers_ callback? (e.g. requesting datalogger once myStations
> > > has been filled)
>
> > > If you use myStations in both callbacks is should be a global
> > > variable. (I know, global variables are no good programming practice.
> > > So either put all your global variables into one global object to
> > > reduce namespace pollution or have it global in the scope of the
> > > callbacks).
>
> > > Would the additional "snet": "TA" variable hurt in myStations?
> > > If not, simply link the json result to myStations:
>
> > > var myStations = {} ;
> > > $.getJSON("path/to/stations.js", function(stalist) {
> > >    $.each(stalist.stations, function(staname,stavalues){
> > >        var myStaTitle = stavalues.snet+"_"+staname ;
> > >        myStations[myStaTitle] = stavalues;
> > >    });
>
> > > });
>
> > > I also noticed that you have a return statement in your callback. For
> > > whom this return should be? The callback is executed within jQuery on
> > > success of your AJAX request. jQuery does not know of your return
> > > value.
>
> > > by(e)
> > > Stephan
>
> > > 2009/2/27 tatlar :
>
> > > > Attempt to post again.
>
> > > > Hi All,
>
> > > > I have a JSON object (called 'dataloggers') that I am retrieving via
> > > > $.getJSON, and then creating a  dynamically with the results .
> > > > I can parse it just fine with $.each().
>
> > > > The structure looks like this:
>
> > > > {
> > > >    "dataloggers": {
> > > >        "TA_124A": {
> > > >            "values": {
> > > >                "one": "wake",
> > > >                "two": "up",
> > > >                "three": "time",
> > > >                "four": "to",
> > > >                "five": "die"
> > > >            }
> > > >        },
> > > >        "TA_109C": {
> > > >            "values": {
> > > >                "one": "this",
> > > >                "two": "is",
> > > >                "three": "not",
> > > >                "four": "a",
> > > >                "five": "test"
> > > >            }
> > > >        }
> > > >    }
> > > > }
>
> > > > Here is the code I have for processing the 'dataloggers' JSON object:
>
> > > > $.getJSON("path/to/dataloggers.js", function(dlmon) {
> > > >    $.each(dlmon.dataloggers, function(dlname,arr){
> > > >        var tBodyRow = "";
> > > >        tBodyRow += ''+dlname+'' ;
> > > >        $.each(arr.values, function(vKey,vVal){
> > > >            tBodyRow += ''+vKey+': '+vVal+'' ;
> > > >        });
> > > >        tBodyRow += "" ;
> > > >        $("table#dataloggers tbody").append(tBodyRow);
> > > >    });
> > > > });
>
> > > > This outputs a table:
>
> > > > 
> > > >    
> > > >    
> > > >    
> > > >        
> > > >            TA_124A
> > > >            one: wake
> > > >            two: up
> > > >            three: time
> > > >            four: to
> > > >            five: die
> > > >        
> > > >        
> > > >            TA_109C
> > > >            one: 

[jQuery] Re: Multiple JSON objects - using results from one JSON object within a $.each() parse of another JSON object

2009-02-27 Thread tatlar

Huh. I am still getting zero values added to the myStations object. I
think my syntax for adding to an object is wrong. Any suggestions
anyone?

On Feb 27, 8:43 am, tatlar  wrote:
> Thanks Stephan - I will take a look at your suggestion. Thanks for the
> heads up about the return statement - PHP function habits die hard
>
> On Feb 27, 12:38 am, Stephan Veigl  wrote:
>
> > Hi,
>
> > first of all, AJAX is _asynchronous_, do you have any mechanism that
> > ensures that the stations callback is executed _before_ the
> > _dataloggers_ callback? (e.g. requesting datalogger once myStations
> > has been filled)
>
> > If you use myStations in both callbacks is should be a global
> > variable. (I know, global variables are no good programming practice.
> > So either put all your global variables into one global object to
> > reduce namespace pollution or have it global in the scope of the
> > callbacks).
>
> > Would the additional "snet": "TA" variable hurt in myStations?
> > If not, simply link the json result to myStations:
>
> > var myStations = {} ;
> > $.getJSON("path/to/stations.js", function(stalist) {
> >    $.each(stalist.stations, function(staname,stavalues){
> >        var myStaTitle = stavalues.snet+"_"+staname ;
> >        myStations[myStaTitle] = stavalues;
> >    });
>
> > });
>
> > I also noticed that you have a return statement in your callback. For
> > whom this return should be? The callback is executed within jQuery on
> > success of your AJAX request. jQuery does not know of your return
> > value.
>
> > by(e)
> > Stephan
>
> > 2009/2/27 tatlar :
>
> > > Attempt to post again.
>
> > > Hi All,
>
> > > I have a JSON object (called 'dataloggers') that I am retrieving via
> > > $.getJSON, and then creating a  dynamically with the results .
> > > I can parse it just fine with $.each().
>
> > > The structure looks like this:
>
> > > {
> > >    "dataloggers": {
> > >        "TA_124A": {
> > >            "values": {
> > >                "one": "wake",
> > >                "two": "up",
> > >                "three": "time",
> > >                "four": "to",
> > >                "five": "die"
> > >            }
> > >        },
> > >        "TA_109C": {
> > >            "values": {
> > >                "one": "this",
> > >                "two": "is",
> > >                "three": "not",
> > >                "four": "a",
> > >                "five": "test"
> > >            }
> > >        }
> > >    }
> > > }
>
> > > Here is the code I have for processing the 'dataloggers' JSON object:
>
> > > $.getJSON("path/to/dataloggers.js", function(dlmon) {
> > >    $.each(dlmon.dataloggers, function(dlname,arr){
> > >        var tBodyRow = "";
> > >        tBodyRow += ''+dlname+'' ;
> > >        $.each(arr.values, function(vKey,vVal){
> > >            tBodyRow += ''+vKey+': '+vVal+'' ;
> > >        });
> > >        tBodyRow += "" ;
> > >        $("table#dataloggers tbody").append(tBodyRow);
> > >    });
> > > });
>
> > > This outputs a table:
>
> > > 
> > >    
> > >    
> > >    
> > >        
> > >            TA_124A
> > >            one: wake
> > >            two: up
> > >            three: time
> > >            four: to
> > >            five: die
> > >        
> > >        
> > >            TA_109C
> > >            one: this
> > >            two: is
> > >            three: not
> > >            four: a
> > >            five: test
> > >        
> > >    
> > > 
>
> > > I have another JSON object (called 'stations') that I am retrieving
> > > via $.getJSON(), that has the following structure:
>
> > > {
> > >    "stations":{
> > >        "124A":{
> > >            "commtype":"slink2orb",
> > >            "provider"

[jQuery] Re: Multiple JSON objects - using results from one JSON object within a $.each() parse of another JSON object

2009-02-27 Thread tatlar

Thanks Stephan - I will take a look at your suggestion. Thanks for the
heads up about the return statement - PHP function habits die hard

On Feb 27, 12:38 am, Stephan Veigl  wrote:
> Hi,
>
> first of all, AJAX is _asynchronous_, do you have any mechanism that
> ensures that the stations callback is executed _before_ the
> _dataloggers_ callback? (e.g. requesting datalogger once myStations
> has been filled)
>
> If you use myStations in both callbacks is should be a global
> variable. (I know, global variables are no good programming practice.
> So either put all your global variables into one global object to
> reduce namespace pollution or have it global in the scope of the
> callbacks).
>
> Would the additional "snet": "TA" variable hurt in myStations?
> If not, simply link the json result to myStations:
>
> var myStations = {} ;
> $.getJSON("path/to/stations.js", function(stalist) {
>    $.each(stalist.stations, function(staname,stavalues){
>        var myStaTitle = stavalues.snet+"_"+staname ;
>        myStations[myStaTitle] = stavalues;
>    });
>
> });
>
> I also noticed that you have a return statement in your callback. For
> whom this return should be? The callback is executed within jQuery on
> success of your AJAX request. jQuery does not know of your return
> value.
>
> by(e)
> Stephan
>
> 2009/2/27 tatlar :
>
>
>
> > Attempt to post again.
>
> > Hi All,
>
> > I have a JSON object (called 'dataloggers') that I am retrieving via
> > $.getJSON, and then creating a  dynamically with the results .
> > I can parse it just fine with $.each().
>
> > The structure looks like this:
>
> > {
> >    "dataloggers": {
> >        "TA_124A": {
> >            "values": {
> >                "one": "wake",
> >                "two": "up",
> >                "three": "time",
> >                "four": "to",
> >                "five": "die"
> >            }
> >        },
> >        "TA_109C": {
> >            "values": {
> >                "one": "this",
> >                "two": "is",
> >                "three": "not",
> >                "four": "a",
> >                "five": "test"
> >            }
> >        }
> >    }
> > }
>
> > Here is the code I have for processing the 'dataloggers' JSON object:
>
> > $.getJSON("path/to/dataloggers.js", function(dlmon) {
> >    $.each(dlmon.dataloggers, function(dlname,arr){
> >        var tBodyRow = "";
> >        tBodyRow += ''+dlname+'' ;
> >        $.each(arr.values, function(vKey,vVal){
> >            tBodyRow += ''+vKey+': '+vVal+'' ;
> >        });
> >        tBodyRow += "" ;
> >        $("table#dataloggers tbody").append(tBodyRow);
> >    });
> > });
>
> > This outputs a table:
>
> > 
> >    
> >    
> >    
> >        
> >            TA_124A
> >            one: wake
> >            two: up
> >            three: time
> >            four: to
> >            five: die
> >        
> >        
> >            TA_109C
> >            one: this
> >            two: is
> >            three: not
> >            four: a
> >            five: test
> >        
> >    
> > 
>
> > I have another JSON object (called 'stations') that I am retrieving
> > via $.getJSON(), that has the following structure:
>
> > {
> >    "stations":{
> >        "124A":{
> >            "commtype":"slink2orb",
> >            "provider":"orb",
> >            "snet": "TA"
> >        },
> >        "109C":{
> >            "commtype": "vsat",
> >            "provider": "Verizon",
> >            "snet": "TA"
> >        }
> >    }
> > }
>
> > What I need to do is process the 'stations' JSON object and add the
> > values returned to the processing of the 'dataloggers' object with the
> > $.each() function, so that the HTML  output now looks like
> > this:
>
> > 
> >    
> >

[jQuery] Multiple JSON objects - using the parsing results from one JSON object within another $.getJSON $.each() parse of another JSON object

2009-02-26 Thread tatlar

Hi All,

I have a JSON object (called 'dataloggers') that I am retrieving via
$.getJSON, and then creating a  dynamically with the results .
I can parse it just fine with $.each().

The structure looks like this:

{
"dataloggers": {
"TA_124A": {
"values": {
"one": "wake",
"two": "up",
"three": "time",
"four": "to",
"five": "die"
}
},
"TA_109C": {
"values": {
"one": "this",
"two": "is",
"three": "not",
"four": "a",
"five": "test"
}
}
}
}

Here is the code I have for processing the 'dataloggers' JSON object:

$.getJSON("path/to/dataloggers.js", function(dlmon) {
$.each(dlmon.dataloggers, function(dlname,arr){
var tBodyRow = "";
tBodyRow += ''+dlname+'' ;
$.each(arr.values, function(vKey,vVal){
tBodyRow += ''+vKey+': '+vVal+'' ;
});
tBodyRow += "" ;
$("table#dataloggers tbody").append(tBodyRow);
});
});

This outputs a table:






TA_124A
one: wake
two: up
three: time
four: to
five: die


TA_109C
one: this
two: is
three: not
four: a
five: test




I have another JSON object (called 'stations') that I am retrieving
via $.getJSON(), that has the following structure:

{
"stations":{
"124A":{
"commtype":"slink2orb",
"provider":"orb",
"snet": "TA"
},
"109C":{
"commtype": "vsat",
"provider": "Verizon",
"snet": "TA"
}
}
}

What I need to do is process the 'stations' JSON object and add the
values returned to the processing of the 'dataloggers' object with the
$.each() function, so that the HTML  output now looks like
this:






TA_124A
one: wake
two: up
three: time
four: to
five: die
commtype: slink2orb
provider: orb


TA_109C
one: this
two: is
three: not
four: a
five: test
commtype: vsat
provider: Verizon




You will notice that the 'stations' object has a key-val pair of
"snet":"TA", which makes it easy for me to match the 'dataloggers' key
by just concatenating the 'stations' key with the 'snet' value. So
what I *think* I need to do is process the 'stations' JSON object
first, and create a new jQuery object on the fly with all the values I
need, which I then pass into the $.each() processing of the
'dataloggers' object. I tried to do this:

$.getJSON("path/to/stations.js", function(stalist) {
var myStations = {} ;
$.each(stalist.stations, function(staname,stavalues){
var myStaTitle = stavalues.snet+"_"+staname ;
var myStaVals = { "commtype": stavalues.commtype, "provider":
stavalues.provider } ;
var staObj.push(myStaTitle) = myStaVals ; // could be very
wrong to use the push() array method??
});
return myStations ;
});

I would have thought that I could then pass this newly created jQuery
object ('myStations') to the processing of the 'dataloggers' JSON
object, using the 'myStaTitle' match with the 'dlname' key. But every
attempt I have made has failed. For whatever reason (very likely my
syntax) I cannot create my custom jQuery object and then pass it on.
Something like?:

$.getJSON("path/to/dataloggers.js", function(dlmon) {
$.each(dlmon.dataloggers, function(dlname,arr){
var tBodyRow = "";
tBodyRow += ''+dlname+'' ;
$.each(arr.values, function(vKey,vVal){
tBodyRow += ''+vKey+': '+vVal+'' ;
});

// insert here?? why does this not work??
tBodyRow += 'commtype: '+myStations.dlname.commtype+'' ;
tBodyRow += 'provider: '+myStations.dlname.provider+'' ;

tBodyRow += "" ;
$("table#dataloggers tbody").append(tBodyRow);
});
});

I hope this all makes sense. If anyone could give me a shove in the
right direction, I would be much obliged. All help much appreciated
and thanks in advance.


[jQuery] Multiple JSON objects - using results from one JSON object within a parse of another JSON object

2009-02-26 Thread tatlar

Third time a charm

Attempt to post again.

Hi All,

I have a JSON object (called 'dataloggers') that I am retrieving via
$.getJSON, and then creating a table dynamically with the results .
I can parse it just fine with $.each().

The structure looks like this:

{
   "dataloggers": {
   "TA_124A": {
   "values": {
   "one": "wake",
   "two": "up",
   "three": "time",
   "four": "to",
   "five": "die"
   }
   },
   "TA_109C": {
   "values": {
   "one": "this",
   "two": "is",
   "three": "not",
   "four": "a",
   "five": "test"
   }
   }
   }
}

Here is the code I have for processing the 'dataloggers' JSON object:

$.getJSON("path/to/dataloggers.js", function(dlmon) {
   $.each(dlmon.dataloggers, function(dlname,arr){
   var tBodyRow = "";
   tBodyRow += ''+dlname+'' ;
   $.each(arr.values, function(vKey,vVal){
   tBodyRow += ''+vKey+': '+vVal+'' ;
   });
   tBodyRow += "" ;
   $("table#dataloggers tbody").append(tBodyRow);
   });
});

I have another JSON object (called 'stations') that I am retrieving
via $.getJSON(), that has the following structure:

{
   "stations":{
   "124A":{
   "commtype":"slink2orb",
   "provider":"orb",
   "snet": "TA"
   },
   "109C":{
   "commtype": "vsat",
   "provider": "Verizon",
   "snet": "TA"
   }
   }
}

What I need to do is process the 'stations' JSON object and add the
values returned to the processing of the 'dataloggers' object with the
$.each() function.

You will notice that the 'stations' object has a key-val pair of
"snet":"TA", which makes it easy for me to match the 'dataloggers' key
by just concatenating the 'stations' key with the 'snet' value. So
what I *think* I need to do is process the 'stations' JSON object
first, and create a new jQuery object on the fly with all the values I
need, which I then pass into the $.each() processing of the
'dataloggers' object. I tried to do this:

$.getJSON("path/to/stations.js", function(stalist) {
   var myStations = {} ;
   $.each(stalist.stations, function(staname,stavalues){
   var myStaTitle = stavalues.snet+"_"+staname ;
   var myStaVals = { "commtype": stavalues.commtype, "provider":
stavalues.provider } ;
   var staObj.push(myStaTitle) = myStaVals ; // could be very
wrong to use the push() array method??
   });
   return myStations ;
});

I would have thought that I could then pass this newly created jQuery
object ('myStations') to the processing of the 'dataloggers' JSON
object, using the 'myStaTitle' match with the 'dlname' key. But every
attempt I have made has failed. For whatever reason (very likely my
syntax) I cannot create my custom jQuery object and then pass it on.
Something like?:

$.getJSON("path/to/dataloggers.js", function(dlmon) {
   $.each(dlmon.dataloggers, function(dlname,arr){
   var tBodyRow = "";
   tBodyRow += ''+dlname+'' ;
   $.each(arr.values, function(vKey,vVal){
   tBodyRow += ''+vKey+': '+vVal+'' ;
   });

   // insert here?? why does this not work??
   tBodyRow += 'commtype: '+myStations.dlname.commtype+'' ;
   tBodyRow += 'provider: '+myStations.dlname.provider+'' ;

   tBodyRow += "" ;
   $("table#dataloggers tbody").append(tBodyRow);
   });
});

I hope this all makes sense. If anyone could give me a shove in the
right direction, I would be much obliged. All help much appreciated
and thanks in advance.


[jQuery] Multiple JSON objects - using results from one JSON object within a $.each() parse of another JSON object

2009-02-26 Thread tatlar

Attempt to post again.

Hi All,

I have a JSON object (called 'dataloggers') that I am retrieving via
$.getJSON, and then creating a  dynamically with the results .
I can parse it just fine with $.each().

The structure looks like this:

{
"dataloggers": {
"TA_124A": {
"values": {
"one": "wake",
"two": "up",
"three": "time",
"four": "to",
"five": "die"
}
},
"TA_109C": {
"values": {
"one": "this",
"two": "is",
"three": "not",
"four": "a",
"five": "test"
}
}
}
}

Here is the code I have for processing the 'dataloggers' JSON object:

$.getJSON("path/to/dataloggers.js", function(dlmon) {
$.each(dlmon.dataloggers, function(dlname,arr){
var tBodyRow = "";
tBodyRow += ''+dlname+'' ;
$.each(arr.values, function(vKey,vVal){
tBodyRow += ''+vKey+': '+vVal+'' ;
});
tBodyRow += "" ;
$("table#dataloggers tbody").append(tBodyRow);
});
});

This outputs a table:






TA_124A
one: wake
two: up
three: time
four: to
five: die


TA_109C
one: this
two: is
three: not
four: a
five: test




I have another JSON object (called 'stations') that I am retrieving
via $.getJSON(), that has the following structure:

{
"stations":{
"124A":{
"commtype":"slink2orb",
"provider":"orb",
"snet": "TA"
},
"109C":{
"commtype": "vsat",
"provider": "Verizon",
"snet": "TA"
}
}
}

What I need to do is process the 'stations' JSON object and add the
values returned to the processing of the 'dataloggers' object with the
$.each() function, so that the HTML  output now looks like
this:






TA_124A
one: wake
two: up
three: time
four: to
five: die
commtype: slink2orb
provider: orb


TA_109C
one: this
two: is
three: not
four: a
five: test
commtype: vsat
provider: Verizon




You will notice that the 'stations' object has a key-val pair of
"snet":"TA", which makes it easy for me to match the 'dataloggers' key
by just concatenating the 'stations' key with the 'snet' value. So
what I *think* I need to do is process the 'stations' JSON object
first, and create a new jQuery object on the fly with all the values I
need, which I then pass into the $.each() processing of the
'dataloggers' object. I tried to do this:

$.getJSON("path/to/stations.js", function(stalist) {
var myStations = {} ;
$.each(stalist.stations, function(staname,stavalues){
var myStaTitle = stavalues.snet+"_"+staname ;
var myStaVals = { "commtype": stavalues.commtype, "provider":
stavalues.provider } ;
var staObj.push(myStaTitle) = myStaVals ; // could be very
wrong to use the push() array method??
});
return myStations ;
});

I would have thought that I could then pass this newly created jQuery
object ('myStations') to the processing of the 'dataloggers' JSON
object, using the 'myStaTitle' match with the 'dlname' key. But every
attempt I have made has failed. For whatever reason (very likely my
syntax) I cannot create my custom jQuery object and then pass it on.
Something like?:

$.getJSON("path/to/dataloggers.js", function(dlmon) {
$.each(dlmon.dataloggers, function(dlname,arr){
var tBodyRow = "";
tBodyRow += ''+dlname+'' ;
$.each(arr.values, function(vKey,vVal){
tBodyRow += ''+vKey+': '+vVal+'' ;
});

// insert here?? why does this not work??
tBodyRow += 'commtype: '+myStations.dlname.commtype+'' ;
tBodyRow += 'provider: '+myStations.dlname.provider+'' ;

tBodyRow += "" ;
$("table#dataloggers tbody").append(tBodyRow);
});
});

I hope this all makes sense. If anyone could give me a shove in the
right direction, I would be much obliged. All help much appreciated
and thanks in advance.


[jQuery] jQuery dynamic image replacement in a overlays later content in the page - help needed

2008-09-11 Thread tatlar

Hi there,

I have a page (http://anf.ucsd.edu/spevents/2008/255/b/) that has a
series of tabs. If you click on the 'Waveforms' tab you will see a
list of three plots to select from. Before clicking on any of the plot
links, notice that the content after the waveform image (starting with
the title 'Further information'). This is displayed directly beneath
the plot. Lets call this content 'next'

Now, clicking on one of the plot links causes the image and title to
be replaced. However, when the image is larger than the original image
height, it displays over content 'next'. The behavior I am looking for
is that when the image that gets switched in is larger than the
original image, the content 'next' does not get overwritten. Instead
it gets pushed down the page, so it is beneath the image.

I feel like this should be a simple CSS display or height property for
the div that the image lies in, but I can't seem to figure out what.
Basically I want the behavior to replicate the UI tabs behavior - when
the tab section is large you don't see it overwrite 'next' in the
page. I have picked apart the UI-tabs source but not seen where this
is set.

All help appreciated. Thanks in advance.


[jQuery] Re: Custom sort on table cell attribute value in tablesorter plugin rather than innerHTML value: help please!

2008-07-08 Thread tatlar

Hi Dan and tiphipps,

I tried Dan's approach, but because I want this to work on every
column, all or only one of which can displayed (based on a users
cookie preferences), I went with tiphipps solution. This worked very
well. Simple too.

In testing, tiphipps method turned out to be much faster, probably
because it is not calling this new parser each time?

Anyway, thanks so much for all the help to both of you - much
appreciated!!!


[jQuery] Custom sort on table cell attribute value in tablesorter plugin rather than innerHTML value: help please!

2008-07-07 Thread tatlar

Hi there jQuery folks,

I am using the tablesorter plugin, which I really like. However, in
several of my table cells I have oddly formatted time values that look
like the following:

1d 12h 34m 25s

Which maps to:

1 day, 12 hours, 34 mins and 25 seconds

I cannot change how these values are displayed - they have to be in
that format. However, in my code I also create an attribute to the
table cell called sorttable_customval in which I insert the raw number
format as a float:

1m 5s

 I have tried to write my own add-on to the tablesorter source code to
get this attribute value in the confines of the tablesorter
textExtraction method:

Javascript at the top of my webpage with the table
==
("#monitor").tablesorter({
textExtraction: 'customattribute',
debug: true,
widgets:['zebra']
})

The modified part of tablesorter.js (rows 233 and 234)
=
221 function getElementText(config,node) {
222
223 if(!node) return "";
224
225 var t = "";
226
227 if(config.textExtraction == "simple") {
228 if(node.childNodes[0] &&
node.childNodes[0].hasChildNodes()) {
229 t = node.childNodes[0].innerHTML;
230 } else {
231 t = node.innerHTML;
232 }
233 } else if(config.textExtraction ==
"customattribute") {
234 t = $(node).attr('sorttable_customval');
235 } else {
236 if(typeof(config.textExtraction) ==
"function") {
237 t = config.textExtraction(node);
238 } else {
239 t = $(node).text();
240 }
241 }
242 return t;
243 }

I thought this would work, but I get the following error in Firebug:

s is undefinedjquery.tablesorter.js (line 703)
return $.trim(s.toLowerCase());

The corresponding lines in jquery.tablesorter.js:

696 // add default parsers
697 ts.addParser({
698 id: "text",
699 is: function(s) {
700 return true;
701 },
702 format: function(s) {
703 return $.trim(s.toLowerCase());
704 },
705 type: "text"
706 });

So it looks like to me that my float gets treated as text and tries to
get parsed as such. I added the column number and forced a sort type
when I call tablesorter:

("#monitor").tablesorter({
headers: {
7:{sorter:'digit'}
},
textExtraction: 'customattribute',
debug: true,
widgets:['zebra']
});

However, this is a custom table, where a client's cookies can define
the order of the columns displayed. So defining a whole load of
headers based on column number won't work. Does anyone have any idea
how I can implement this custom attribute sort and ensure the
addParser function parses it as a digit? Or am I going about this in
totally the wrong fashion? I also tried writing my own parser:

$.tablesorter.addParser({
id: 'dlt',
is: function(s) {
return s.parentNode.getAttribute('sorttable_customval') ;
},
type: 'numeric'
});

Then adding it to the tablesorter call:

$("#monitor").tablesorter({
headers: { 7:{sorter:'dlt'} },
debug: true,
widgets:['zebra']
})

However, I got a Firebug error that parentNode is undefined. So then I
tried:

return s.attr('sorttable_customval') ;

Still failed. Then finally:

return $(s).attr('sorttable_customval') ;

which also failed.

I feel like I am pretty close to figuring it out, but I just can't
seem to get the final piece in place. All help appreciated!!

Thanks in advance!


[jQuery] clueTip plugin: Passing values via AJAX to the clueTip, then passing values back to the parent page to update div content

2008-04-30 Thread tatlar

Hi there,

First up a big thanks to Karl for writing a great jQuery plugin. And
sorry if this is a bit of a newbie issue. My question is related to
AJAX content. I have a page that has a variety of links, that look
like the following:



This is just a series of key-value pairs that list the type of action
and the epoch time that action took place.

There is a div on this page that I want to insert content into, lets
call it 'mydynamiccontent':


This content will get replaced


My clueTip call looks like:

$(document).ready(function() {
$('a.jTip').cluetip({
cluetipClass: 'jtip',
arrows: true,
hoverIntent: false,
mouseOutClose: true,
sticky: true,
activation: 'click',
closeText: 'X',
closePosition: 'title',
ajaxCache: true
});
)};

When the user clicks on the link, the clueTip window pops up and show
the content that looks like (using the example above, the source of
'this.php' with the GET parameters passed):

this.php


http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">





construction: 1155492714
online: 1160506275
installation: 1161683112




Great. This works as expected. What I now want is for those links in
the unordered list in the clueTip window to have an onClick event that
updates the contents of the 'mydynamiccontent' div on the initial
page. So my question is, do I define that in a clueTip ajax call? Or
do I define it in some jQuery code in 'this.php'? If the latter, how
can I ensure I load the content back into the correct div on the main
page?

Thanks in advance!


[jQuery] Re: calling a php function with jquery

2008-03-05 Thread tatlar

jQuery is client side, PHP is server side. What exactly are you trying
to do? If you wish to call and use the return of a PHP function within
your jQuery code you will need to use the AJAX functions. However, if
you are already getting the variable $user before your jQuery is run
by the client you should just be able to do (in your Javascript):




var jQueryUser =  ;


I think that will work. Good luck!

On Mar 5, 9:18 am, everdream <[EMAIL PROTECTED]> wrote:
> Hello !
> I have a php function : helloUser in the file : myFunctions.php.
> This is my function :
>
> ...
> function helloUser($user)
> {
>   return "Welcome $user !";}
>
> ...
>
> I'm using jquery for an application but i don't know how to call a php
> function and give parameter (here :$user) and recover the result (here :
> "welcome ...").
>
> Can somebody help me?
>
> Thanks a lot.
>
> --
> View this message in 
> context:http://www.nabble.com/calling-a-php-function-with-jquery-tp15853808s2...
> Sent from the jQuery General Discussion mailing list archive at Nabble.com.


[jQuery] Plugin clash? accordion and treeview

2008-03-05 Thread tatlar

Hi jQuery folks,

I am using both the Accordion and Treeview plugins developed by Jörn
Zaefferer in a web application. I am having trouble when I place a div
(or definition list, dl) containing an instance of Treeview inside an
Accordion div. The Accordion works fine, however the Treeview 'tree'
gets misaligned (the list items no longer align vertically and are all
indented right, each parent li is further right than the previous li).
When I comment out the CSS stylesheet includes for the Accordion
plugin, the Treeview works fine. I think there is either a div or
parent/child clash in these plugins related to unordered lists (ul and
li). Has anyone else seen this?

Thanks in advance,
- Rob