Connecting Tech Pros Worldwide Forums | Help | Site Map

Js function to change respecive cell value onchange selected value of dropdown value

Member
 
Join Date: Sep 2009
Location: London
Posts: 36
#1: Sep 30 '09
Hi. I have a javascript function to change the value of the cell on chnage event of a dropdown list.My code is workin but the problem is that the value of the cell is chaning but not respective to the selected dropdown list( as there are 15 dropdown list and 15 cells), but only on the 1st cell. So need some identification for each cell. Can anyone help me just refine my code.

Expand|Select|Wrap|Line Numbers
  1. <script type="text/javascript"> 
  2. function displaytaskid(ths) { 
  3.     var id= ths.options[ths.selectedIndex].value;  
  4.     alert (id);
  5.     document.getElementById('task_id1').innerHTML=id;
  6. </script>
Expand|Select|Wrap|Line Numbers
  1. <?php for($count; $count <15; $count++)
  2. {?>
  3.  
  4.     <tr>
  5.         <td id ="task_id1[]"></td>
  6. <td name = "task_id[]"><select name="task_id" id="dropdown" onchange="displaytaskid(this)">
  7.     <option value=""></option>5
  8.     <?php
  9.  
  10.       while($lp_row = pg_fetch_assoc($res2))
  11.     {
  12.           $val = $lp_row["task_id"];
  13.           $caption = $lp_row["task_description"]; ?>
  14.         <option value="<?php echo $val ?>"><?php echo $caption ?></option>
  15.         <?php }  ?></select>
  16.         </td>

Dormilich's Avatar
Moderator
 
Join Date: Aug 2008
Location: Leipzig, Germany
Posts: 3,662
#2: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


of course you have to give out unique ids to get it working.
Member
 
Join Date: Sep 2009
Location: London
Posts: 36
#3: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


Yeahh Dormi I know tht. But I really dnt knw how to change my code to do that.
Dormilich's Avatar
Moderator
 
Join Date: Aug 2008
Location: Leipzig, Germany
Posts: 3,662
#4: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


what about
Expand|Select|Wrap|Line Numbers
  1. echo "<td id=\"task_id_$count\">";
?

besides, you don’t even have to use ids, since the select and the td have the same parent.
Member
 
Join Date: Sep 2009
Location: London
Posts: 36
#5: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


THanks Dormi, sounds a good idea.. but then how to identify it by the js function(what change I need to do to my JS function) to identify each cell with the respective change in the dropdown list
Dormilich's Avatar
Moderator
 
Join Date: Aug 2008
Location: Leipzig, Germany
Posts: 3,662
#6: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


how much do you know about DOM?

(you have 2 td per tr?)
Member
 
Join Date: Sep 2009
Location: London
Posts: 36
#7: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


yes there are 2 td per tr.. In one td there is the cell where i want my value to be changed and in 2nd is the actual dropdown list. which is trigerrin the js function. A little bit about DOM. Whenevery this JS bit comes in my code i get confused as I m really not good at it.
Dormilich's Avatar
Moderator
 
Join Date: Aug 2008
Location: Leipzig, Germany
Posts: 3,662
#8: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


Quote:

Originally Posted by tarunkhatri View Post

Whenevery this JS bit comes in my code i get confused as I m really not good at it.

time to get better… if you want to advance in JS, you need to know DOM. because DOM is what makes modifying HTML documents easy.

first some stuff to read:
DOM Intro (there are further articles listed)
DOM Intro @ W3C

some technical stuff
the DOM Specifications
the DOM IDL
Member
 
Join Date: Sep 2009
Location: London
Posts: 36
#9: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


Thanks vry much Dormi. This wud be really helpful. I know I really have to read this otherwise I ll keep on hanging around. But still rgt now if u have a solution for above do let me knw.
Dormilich's Avatar
Moderator
 
Join Date: Aug 2008
Location: Leipzig, Germany
Posts: 3,662
#10: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


I have an idea.
Expand|Select|Wrap|Line Numbers
  1. parentNode.firstChild().nodeValue = this.value;
case closed*.

you need to know DOM to understand the meaning of that. and event listeners.


* – for me
Member
 
Join Date: Sep 2009
Location: London
Posts: 36
#11: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


Thanks for your effort.
Dormilich's Avatar
Moderator
 
Join Date: Aug 2008
Location: Leipzig, Germany
Posts: 3,662
#12: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


and now for a working (FF) example
Expand|Select|Wrap|Line Numbers
  1. function setTD()
  2. {
  3.     this.parentNode.parentNode.firstElementChild.textContent = this.value;
  4. }
  5. // addEventForEach() is a custom function
  6. document.getElementsByTagName("select").addEventForEach("change", setTD, false);
Member
 
Join Date: Sep 2009
Location: London
Posts: 36
#13: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


I have changed my code to below.. but still dosnt work.?? does any one has a solution
Expand|Select|Wrap|Line Numbers
  1. <script type="text/javascript"> 
  2. function displaytaskid(ths,rowno) { 
  3.     var id= ths.options[ths.selectedIndex].value;  
  4.     alert (id);
  5.    document.getElementById('task_id_rowno').innerHTML= id;
  6.  
Expand|Select|Wrap|Line Numbers
  1. <?php for($count; $count <15; $count++)
  2. {?>
  3.  
  4.     <tr>
  5.     <?php echo "<td id=\"task_id_$count\">"; ?>
  6.     <?php
  7.        $conn = connect();
  8.      $res2 = sql_select1(); 
  9.          ?>
  10.  
  11.     <td name = "task_id[]"><select name="task_id" id="dropdown" onchange="displaytaskid(this,\"$count\")">
  12.     <option value=""></option>5
  13.     <?php
  14.  
  15.       while($lp_row = pg_fetch_assoc($res2))
  16.     {
  17.           $val = $lp_row["task_id"];
  18.           $caption = $lp_row["task_description"]; ?>
  19.         <option value="<?php echo $val ?>"><?php echo $caption ?></option>
  20.         <?php }  ?></select>
  21.         </td>
  22.  
Dormilich's Avatar
Moderator
 
Join Date: Aug 2008
Location: Leipzig, Germany
Posts: 3,662
#14: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


JS, unlike PHP, does not search for variable names inside strings.
Member
 
Join Date: Sep 2009
Location: London
Posts: 36
#15: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


humm ok... I changed it to
Expand|Select|Wrap|Line Numbers
  1.  document.getElementById(rowno).innerHTML= id;
but still no result
Dormilich's Avatar
Moderator
 
Join Date: Aug 2008
Location: Leipzig, Germany
Posts: 3,662
#16: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


if rowno is not the ID then you have no target element.

note: can you see, how useful the DOM is?
Member
 
Join Date: Sep 2009
Location: London
Posts: 36
#17: Sep 30 '09

re: Js function to change respecive cell value onchange selected value of dropdown value


Thanks Dormi...I got a way around passinf count variable was doin all the prob..Anyways thanks very much for ur help
Reply