如何用不同的id获得textareas的价值

时间:2014-04-23 16:00:54

标签: php jquery

我一直试图获得textarea的价值。

这是一个小小的PHP:

   <table>
    for($i=0;$i<count($resp);$i++)
    {
      <tr>
          <td style="text-align:center">
               <textarea id="'.$i.'" name="motivo" cols="15" rows="2"></textarea>
          </td>
          <td style="text-align:center">
              <img src="imagenes/delete.png" title="Anular" id="nombre2" name="nombre2" onclick="myfunction(document.getElementById(\'motivo\').value)"/>
          </td>
     </tr>
    }
 </table>   

我的id如何不同我不能做这个document.getElementById(\'motivo \')。value,我试过jQuery但是我无法让它工作:

  $(document).ready(function(){
    $("img[name=nombre2").on('click', function() {
       var id = $(textarea).attr('id');
       var value = $(textarea).val();
       alert('id'+id+'value'+value);
     });
   });

2 个答案:

答案 0 :(得分:1)

您需要清理语法,然后稍微遍历DOM - http://jsfiddle.net/jayblanchard/t43Lb/

$("img[name=nombre2]").on('click', function () {
    var $textarea = $(this).parent('td').prev().find('textarea'); // up, back and down
    var id = $textarea.attr('id');
    var value = $textarea.val();
    alert('id ' + id + ' value ' + value);
});

答案 1 :(得分:-1)

已提供您问题的解决方案。

使用此html和css可获得更好的效果: demo

<tr>
    <td style="text-align:center">
        <textarea id="_'.$i.'" name="motivo" cols="15" rows="2"></textarea>
    </td>
    <td style="text-align:center">
        <img src="imagenes/delete.png" data-id="#_'.$i.'" title="Anular" id="nombre2" class="imgbtn"/>
    </td>
</tr>


$('.imgbtn').click(function()
{
    alert ( $($(this).attr('data-id')).val() );
    alert ( $($(this).attr('data-id')).attr('id') );
});