Llame al lado td usando jQuery

votos
1

I que tiene mesa tratando de obtener el siguiente valor de columna utilizando jQuery pero siempre está mostrando en blanco. Aquí está mi código

<table>
  <tr style=color: rgb(31, 73, 125); background-color: #eaeaea;><td style=padding-left: 5px;><a style=cursor: pointer; onclick=download_excel('BL8','ATR','AWFR')>ATR-ADM-BLCMA8-CHN18-03-01-D</a></td><td>14</td><td>0</td><td>56</td><td>56</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
</table>
<script>
function download_excel(a,b,c){
 text =  $(this).parent().next('td').text();
  alert(text);
}
</script>

function download_excel(a,b,c){
  text =  $(this).parent().next('td').text();
  alert(text);
}
<script src=https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js></script>
<table>
  <tr style=color: rgb(31, 73, 125); background-color: #eaeaea;><td style=padding-left: 5px;><a style=cursor: pointer; onclick=download_excel('BL8','ATR','AWFR')>ATR-ADM-BLCMA8-CHN18-03-01-D</a></td><td>14</td><td>0</td><td>56</td><td>56</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
</table>

Alguna sugerencia ?

Publicado el 20/10/2018 a las 10:33
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
1

Actualmente thisse está refiriendo al windowobjeto.

Usted tiene que pasar thisa la función de manera que se puede hacer referencia como el elemento que actualmente se hace clic dentro de la función:

function download_excel(el, a,b,c){
 text =  $(el).parent().next('td').text();
  console.log(text);
  console.log(this.constructor.name); // window
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr style="color: rgb(31, 73, 125); background-color: #eaeaea;"><td style="padding-left: 5px;"><a style="cursor: pointer;" onclick="download_excel(this, 'BL8','ATR','AWFR')">ATR-ADM-BLCMA8-CHN18-03-01-D</a></td><td>14</td><td>0</td><td>56</td><td>56</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
</table>

Respondida el 20/10/2018 a las 10:40
fuente por usuario

votos
1

El problema $(this) .. $(this)en su función no se refiere al elemento que desee para que pueda agregar el download_excel(el , a,b,c)y cambiar $(this)a $(el)continuación, utilizaronclick="download_excel(this , 'BL8','ATR','AWFR')"

function download_excel(el,a,b,c){
     text =  $(el).parent().next('td').text();
      alert(text);
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
    <tr style="color: rgb(31, 73, 125); background-color: #eaeaea;">
        <td style="padding-left: 5px;">
            <a style="cursor: pointer;" onclick="download_excel(this , 'BL8','ATR','AWFR')">ATR-ADM-BLCMA8-CHN18-03-01-D</a>
        </td>
        <td>14</td>
        <td>0</td>
        <td>56</td>
        <td>56</td>
    </tr>
</table>

Respondida el 20/10/2018 a las 10:38
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more