[jQuery] Re: how to select the content of the current table row?

2008-12-22 Thread Cam Spiers
var rows = jQuery(tbody tr);

rows.each(function(){
var row = jQuery(this)
row.click(function(event){
alert(row.children(td.hidden_url_field_for_track_list).text());
});
});

Haven't tested but you could try something like this maybe.

On Tue, Dec 23, 2008 at 11:40 AM, j0llyr0g3r 
th3.gr31t.j0lly.r0...@googlemail.com wrote:


 Hey guys,

 i'm having a hard time with jquery right now.

 Imagine the following simple table:

 CODE:

 table border='1' id='list_tracks_table'
colgroup
  col width='40%' /
  col width='20%' /
  col width='20%' /
  col width='20%' /
  col width='0%' /
/colgroup

thead
  tr
thTitle/th
th
  Genre
/th
th
  Speed
/th
th
  Length
/th
  /tr
/thead
tbody
  tr

td
  Cocktail Lounge
/td
td
  Chill
/td
td
  126
/td
td

  03:03
/td
td class='hidden_url_field_for_track_list'
  /mp3/stream/MM-MB-0030-COCKTAIL-LOUNGE-126BPM.mp3
 

 As you can see, the last field of the row gets hidden via CSS.
 Now i have defined an onclick-Handler for every row of the table like
 this:

 CODE:

function addClickHandler(tableId)   {

var tableObj = document.getElementById(tableId);
var tBody = tableObj.getElementsByTagName('TBODY');
if(tBody){
var rows = tBody[0].getElementsByTagName('TR');
}else{
var rows = tableObj.getElementsByTagName('TR');
}
for(var no=0;norows.length;no++){
rows[no].onclick = clickOnTableRow
}
}

 'clickOnTableRow' looks like this:

 CODE:

function clickOnTableRow()
{
  alert (working!)
   }

 Now, clickOnTableRow() is working when i click on a table row (i can
 see that because of the alert-box), but how can i now select the
 contents of the last hidden field of this exact row?

 I tried it like this:

 CODE:
function clickOnTableRow()
{
var foo =
 jQuery(this).('hidden_url_field_for_track_list').text();
console.info(content:  + foo);
}

 but this gives me:

 content: undefined

 Then i tried:

function clickOnTableRow()
{
var foo = jQuery('hidden_url_field_for_track_list').text();
console.info(content:  + foo);
}

 but this gives me just:

 content:

 What am i doing wrong here?


 But no


[jQuery] Re: how to select the content of the current table row?

2008-12-22 Thread Cam Spiers
var rows = jQuery(tbody tr);

rows.each(function(){
var row = jQuery(this);
row.click(function(event){
alert(row.children(td.hidden_url_field_for_track_list).text());
});
});

Sorry I missed a semicolon..

On Tue, Dec 23, 2008 at 12:21 PM, Cam Spiers camspi...@gmail.com wrote:

 var rows = jQuery(tbody tr);

 rows.each(function(){
 var row = jQuery(this)
 row.click(function(event){
 alert(row.children(td.hidden_url_field_for_track_list).text());
 });
 });

 Haven't tested but you could try something like this maybe.


 On Tue, Dec 23, 2008 at 11:40 AM, j0llyr0g3r 
 th3.gr31t.j0lly.r0...@googlemail.com wrote:


 Hey guys,

 i'm having a hard time with jquery right now.

 Imagine the following simple table:

 CODE:

 table border='1' id='list_tracks_table'
colgroup
  col width='40%' /
  col width='20%' /
  col width='20%' /
  col width='20%' /
  col width='0%' /
/colgroup

thead
  tr
thTitle/th
th
  Genre
/th
th
  Speed
/th
th
  Length
/th
  /tr
/thead
tbody
  tr

td
  Cocktail Lounge
/td
td
  Chill
/td
td
  126
/td
td

  03:03
/td
td class='hidden_url_field_for_track_list'
  /mp3/stream/MM-MB-0030-COCKTAIL-LOUNGE-126BPM.mp3
 

 As you can see, the last field of the row gets hidden via CSS.
 Now i have defined an onclick-Handler for every row of the table like
 this:

 CODE:

function addClickHandler(tableId)   {

var tableObj = document.getElementById(tableId);
var tBody = tableObj.getElementsByTagName('TBODY');
if(tBody){
var rows = tBody[0].getElementsByTagName('TR');
}else{
var rows = tableObj.getElementsByTagName('TR');
}
for(var no=0;norows.length;no++){
rows[no].onclick = clickOnTableRow
}
}

 'clickOnTableRow' looks like this:

 CODE:

function clickOnTableRow()
{
  alert (working!)
   }

 Now, clickOnTableRow() is working when i click on a table row (i can
 see that because of the alert-box), but how can i now select the
 contents of the last hidden field of this exact row?

 I tried it like this:

 CODE:
function clickOnTableRow()
{
var foo =
 jQuery(this).('hidden_url_field_for_track_list').text();
console.info(content:  + foo);
}

 but this gives me:

 content: undefined

 Then i tried:

function clickOnTableRow()
{
var foo = jQuery('hidden_url_field_for_track_list').text();
console.info(content:  + foo);
}

 but this gives me just:

 content:

 What am i doing wrong here?


 But no





[jQuery] Re: how to select the content of the current table row?

2008-12-22 Thread j0llyr0g3r

Cam Spiers,

thank you very much,

i adapted your really helpfull example and solved it like this:

function clickOnTableRow() {
var row = jQuery(this);
var songUrl = 
row.children(td.hidden_url_field_for_track_list).text
();
   // do other stuff with songUrl
}

Again, thanks very much, i lost hours trying to figure this out by
myself.

On Dec 23, 12:22 am, Cam Spiers camspi...@gmail.com wrote:
 var rows = jQuery(tbody tr);

 rows.each(function(){
 var row = jQuery(this);
 row.click(function(event){
 alert(row.children(td.hidden_url_field_for_track_list).text());

 });
 });

 Sorry I missed a semicolon..

 On Tue, Dec 23, 2008 at 12:21 PM, Cam Spiers camspi...@gmail.com wrote:
  var rows = jQuery(tbody tr);

  rows.each(function(){
  var row = jQuery(this)
  row.click(function(event){
  alert(row.children(td.hidden_url_field_for_track_list).text());
  });
  });

  Haven't tested but you could try something like this maybe.

  On Tue, Dec 23, 2008 at 11:40 AM, j0llyr0g3r 
  th3.gr31t.j0lly.r0...@googlemail.com wrote:

  Hey guys,

  i'm having a hard time with jquery right now.

  Imagine the following simple table:

  CODE:

          table border='1' id='list_tracks_table'
             colgroup
               col width='40%' /
               col width='20%' /
               col width='20%' /
               col width='20%' /
               col width='0%' /
             /colgroup

             thead
               tr
                 thTitle/th
                 th
                   Genre
                 /th
                 th
                   Speed
                 /th
                 th
                   Length
                 /th
               /tr
             /thead
             tbody
               tr

                 td
                   Cocktail Lounge
                 /td
                 td
                   Chill
                 /td
                 td
                   126
                 /td
                 td

                   03:03
                 /td
                 td class='hidden_url_field_for_track_list'
                   /mp3/stream/MM-MB-0030-COCKTAIL-LOUNGE-126BPM.mp3
  

  As you can see, the last field of the row gets hidden via CSS.
  Now i have defined an onclick-Handler for every row of the table like
  this:

  CODE:

         function addClickHandler(tableId)       {

                 var tableObj = document.getElementById(tableId);
                 var tBody = tableObj.getElementsByTagName('TBODY');
                 if(tBody){
                         var rows = tBody[0].getElementsByTagName('TR');
                 }else{
                         var rows = tableObj.getElementsByTagName('TR');
                 }
                 for(var no=0;norows.length;no++){
                         rows[no].onclick = clickOnTableRow
                 }
         }

  'clickOnTableRow' looks like this:

  CODE:

         function clickOnTableRow()
         {
           alert (working!)
        }

  Now, clickOnTableRow() is working when i click on a table row (i can
  see that because of the alert-box), but how can i now select the
  contents of the last hidden field of this exact row?

  I tried it like this:

  CODE:
         function clickOnTableRow()
         {
                 var foo =
  jQuery(this).('hidden_url_field_for_track_list').text();
                 console.info(content:  + foo);
         }

  but this gives me:

  content: undefined

  Then i tried:

         function clickOnTableRow()
         {
                 var foo = jQuery('hidden_url_field_for_track_list').text();
                 console.info(content:  + foo);
         }

  but this gives me just:

  content:

  What am i doing wrong here?

  But no