2012-03-22 14 views
10

Ciao ho tavolo in uno td devo testo e in un altro td devo Pulsante di selezioneutilizzando jQuery Selezionare precedente testo td

sulla cliccando il pulsante di selezione, ho bisogno di selezionare il testo di immediata precedente td text.

So che posso farlo con .prev() ma non ho familiarità con questo metodo, nessuno mi può aiutare con esso.

mio script

function ReLoadMedications(mid) { 
     var ProductName = "This shouled get the value of prev td text"; 
     var dea = $("input[type='button'][mid='"+mid+"']").attr('id'); 
     var mid = $("input[type='button'][mid='" + mid + "']").attr('mid'); 
     var form = $("input[type='button'][mid='" + mid + "']").attr('form'); 
     var href = $("input[type='button'][mid='" + mid + "']").attr('href'); 
     var con = false; 
     var fax = false; 
     alert(ProductName + "\n" + dea + "\n" + mid + "\n" + form + "\n" + href + "\n" + con + "\n" + fax); 
}​ 

ho il mio codice qui a JS Fiddle, e anche al di sotto:

<div class="t-widget t-grid" id="TherapeuticAltGrid"> 
    <table cellspacing="0"> 
    <colgroup><col style="width:200px"><col></colgroup> 
    <thead class="t-grid-header"> 
    <tr> 
     <th class="t-header" scope="col" style="display:none"> 
      <a class="t-link" href="/BenefitsFormulary/HealthPlanInformation?PatientID=17&amp;MedicationID=6235&amp;MedicationName=LIPITOR%20EQ%2010MG%20BASE%20TABLET&amp;isFax=false&amp;form=TABLET&amp;TherapeuticAltGrid-orderBy=MedicationID-asc">Medication ID</a> 
     </th> 
     <th class="t-header" scope="col"> 
      <a class="t-link" href="/BenefitsFormulary/HealthPlanInformation?PatientID=17&amp;MedicationID=6235&amp;MedicationName=LIPITOR%20EQ%2010MG%20BASE%20TABLET&amp;isFax=false&amp;form=TABLET&amp;TherapeuticAltGrid-orderBy=Medication-asc">Medication</a> 
     </th> 
     <th class="t-header" scope="col"> 
      <span class="t-link">&nbsp;</span> 
     </th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <td style="display:none;"> 
      1147 
     </td> 
     <td> 
      DACTINOMYCIN INJECTABLE 0.5MG/VIAL 
     </td> 
     <td class="t-last"> 
      <input type="button" value="Select" class="MedicationClicked button" mid="1147" id="0" form="INJECTABLE" onclick="ReLoadMedications(1147)"> 
     </td> 
    </tr> 
    <tr class="t-alt"> 
     <td style="display:none;"> 
      1439 
     </td> 
     <td> 
      PROVENTIL SOLUTION EQ 0.5% BASE 
     </td> 
     <td class="t-last"> 
      <input type="button" value="Select" class="MedicationClicked button" mid="1439" id="0" form="SOLUTION" onclick="ReLoadMedications(1439)"> 
     </td> 
    </tr> 
    <tr> 
     <td style="display:none;"> 
      1605 
     </td> 
     <td> 
      EMETE-CON INJECTABLE EQ 50MG BASE/VIAL 
     </td> 
     <td class="t-last"> 
      <input type="button" value="Select" class="MedicationClicked button" mid="1605" id="0" form="INJECTABLE" onclick="ReLoadMedications(1605)"> 
     </td> 
    </tr> 
    </tbody> 
    </table> 
    <div class="t-grid-pager t-grid-bottom"> 
     <div class="t-status"> 
      <a class="t-icon t-refresh" href="/BenefitsFormulary/HealthPlanInformation?PatientID=17&amp;MedicationID=6235&amp;MedicationName=LIPITOR%20EQ%2010MG%20BASE%20TABLET&amp;isFax=false&amp;form=TABLET">Refresh</a> 
     </div> 
     <div class="t-pager t-reset"> 
      <a class="t-link t-state-disabled" href="#"><span class="t-icon t-arrow-first">first</span></a><a class="t-link t-state-disabled" href="#"><span class="t-icon t-arrow-prev">prev</span></a> 
      <div class="t-numeric"> 
       <span class="t-state-active">1</span><a class="t-link">2</a><a class="t-link">3</a><a class="t-link">4</a><a class="t-link">5</a><a class="t-link">6</a><a class="t-link">7</a><a class="t-link">8</a><a class="t-link">9</a><a class="t-link">10</a><a class="t-link">...</a> 
      </div> 
      <a class="t-link" href="#"><span class="t-icon t-arrow-next">next</span></a><a class="t-link" href="#"><span class="t-icon t-arrow-last">last</span></a> 
     </div> 
     <div class="t-status-text"> 
      Displaying items 1 - 3 of 41 
     </div> 
    </div> 
</div> 

+0

Sarebbe utile se si desidera formattare il codice HTML e anche post-it nella sua interrogazione. –

+0

Non possiamo immaginare come è la tua struttura DOM! postare ** reso ** 'HTML' – gdoron

+1

Modificato per aggiungere il [abbellito] (http://tools.arantius.com/tabifier) ​​html alla pagina e aggiornato il link per postare su un abbellito [JS Fiddle] (http://jsfiddle.net/davidThomas/jS56H/16/). –

risposta

25

modificare il codice inline come

onclick="ReLoadMedications(1147,this) 

e la funzione

function ReLoadMedications(mid,$this) { 
    console.log($this); 
    var pn = $($this).closest('td').prev('td').text(); 
    console.log(pn); 
    //rest of your code 

DEMO

1

soluzione più semplice sarebbe come ha detto, modificare il codice inline a tranne this

Poi nel codice si può facilmente fare

var ProductName = $(ele).parent().prev().text(); 

dove ele, è il tuo parametro nella tua funzione function ReLoadMedications(mid, ele)

allora si può anche sostituire:

var dea = $("input[type='button'][mid='"+mid+"']").attr('id'); 
    var mid = $("input[type='button'][mid='" + mid + "']").attr('mid'); 
    var form = $("input[type='button'][mid='" + mid + "']").attr('form'); 
    var href = $("input[type='button'][mid='" + mid + "']").attr('href'); 
    var con = false; 
    var fax = false; 

con

var dea = $(ele).attr("id"); 
    var mid = $(ele).attr("mid"); 
    var form = $(ele).attr("form"); 
    var href = $(ele).attr("href"); 
    var con = false; 
    var fax = false; 
Problemi correlati