2012-11-16 8 views
5

पर डायनामिक टेबल डेटा ऑनक्लिक के साथ संवाद फ़ॉर्म फ़ील्ड पॉप्युलेट करें मैंने पहले यहां कोई प्रश्न पोस्ट नहीं किया है, लेकिन यह साइट बहुत उपयोगी रही है, इसलिए धन्यवाद। मुझे गतिशील तालिका डेटा के साथ एक jQuery संवाद फ़ॉर्म को पॉप्युलेट करने में कुछ परेशानी हो रही है जब मैं उसी पंक्ति में "संपादन" बटन पर क्लिक करता हूं, जहां फ़ील्ड मैं फॉर्म को पॉप्युलेट करने के लिए उपयोग करना चाहता हूं।एक jQuery बटन

मेरे HTML यहां कोड: संवाद प्रपत्र:

<div id="edit-dialog-form" class="edit-dialog-form" title="Edit Subscriber"><!--EDIT SUBSCRIBER - PULL FROM DB & UPDATE TO DB--> 

      <form name="editSubscriber"><!--edit existing subscriber details in database---> 
      <fieldset> 
       <label for="fname">First Name</label> 
       <input type="text" name="fname" id="fnameEdit" value="" class="text ui-widget-content ui-corner-all"/> 

       <label for="lname">Last Name</label> 
       <input type="text" name="lname" id="lnameEdit" value="" class="text ui-widget-content ui-corner-all" /> 

       <label for="email">Email</label> 
       <input type="text" name="email" id="emailEdit" value="" class="text ui-widget-content ui-corner-all" /> 

       <label for="status">Status</label> 
       <input type="text" name="status" id="statusEdit" value="" class="text ui-widget-content ui-corner-all" /> 

       <!--<label for="password">Password</label> 
       <input type="text" name="password" id="password" value="" class="text ui-widget-content ui-corner-all" />--> 

      </fieldset> 
      </form> 
     </div><!-- create - dialog-form--> 

एचटीएमएल टेबल

<table id="users" class="ui-widget ui-widget-content"> 
      <thead> 
      <tr class="ui-widget-header "> 
       <th>First Name</th> 
       <th>Last Name</th> 
       <th>Email</th> 
       <th>Status</th> 
       <th>Edit</th> 
      </tr> 
      </thead> 
      <tbody> 

      <?php 

      $content = $sub_info; 


       foreach($content as $row) 
       { 
        //print_r($row); 
        echo '<tr>'; 
        echo '<td data-fn="'.$row['SubFirstName'].'" >'.$row['SubFirstName'].'</td>'; 
        echo '<td data-ln="'.$row['SubLastName'].'">'.$row['SubLastName'].'</td>'; 
        echo '<td data-em="'.$row['SubEmail'].'">'.$row['SubEmail'].'</td>'; 
        echo '<td data-st="'.$row['Activated'].'">'.$row['Activated'].'</td>'; 
        echo '<td><input type="button" class="editUser" id="editUser" value="Edit"/></td>'; 
        echo '</tr>'; 
       } 
      ?> 

      </tbody> 
     </table> 

मेरे जे एस कोड यहाँ:

$(".editUser").click(function(){ 
       $(".edit-dialog-form").dialog("open"); 

       //get the data-xx values from this tr 
       var fname = $(this).closest('tr').find('td').data('fn');//data-fn="'.$row[SubFirstName].'" 
       // put each into the form 
       $('#fnameEdit').val(fname);//where #fnameEdit is the id of input field form "editSubscriber" 

       //get the data-xx values from this tr// 
       var lname = $(this).closest('tr').find('td').data('ln'); 
       // put each into the form 
       $('#lnameEdit').val(lname);//where #lnameEdit is the id of input field form "editSubscriber" 
     }); 

मुझे आशा है कि मैं सही में यह पोस्ट मार्ग। किसी भी व्यक्ति के लिए धन्यवाद जो मदद करने में सक्षम है। असल में मेरी तालिका डेटाबेस से डायनामिक डेटा के साथ आबादी में है, और जब मैं संपादन बटन पर क्लिक करता हूं तो मुझे इस डेटा को फॉर्म में दिखाना होगा - ताकि मैं अंततः डेटा संपादित कर सकूं और संपादित डेटा को डेटाबेस में अपडेट कर सकूं। मेरे "पॉपुलटिंग फॉर्म जेएस" के साथ क्या हो रहा है अब केवल पहला फ़ील्ड (fname) तालिका से खींचा जा रहा है और पहले फॉर्म फ़ील्ड को पॉप्युलेट कर रहा है।

उत्तर

2
var fname = $(this).closest('tr').find('td').data('fn'); 

लगता है

var fname = $(this).closest('tr').find('td:eq(0)').data('fn');//data-fn 

और

होना चाहिए
var lname = $(this).closest('tr').find('td').data('ln'); 

var lname = $(this).closest('tr').find('td:eq(1)').data('ln'); 
+0

कि काम होना चाहिए! बहुत बहुत धन्यवाद! मैं उत्तर देने के लिए जवाब नहीं दे सकता क्योंकि मुझे 15 प्रतिनिधि अंक चाहिए - लेकिन धन्यवाद, दोस्त! – leemjac

+0

@leemjac कोई समस्या नहीं है, अगर आप इसे हल करना चाहते हैं तो आप हमेशा इसे सही उत्तर के रूप में चिह्नित कर सकते हैं :-) –

+0

ठंडा, टिप के लिए धन्यवाद। – leemjac

संबंधित मुद्दे