如何在jQuery中获取以前输入类型文本的值?

时间:2018-01-17 07:54:59

标签: javascript jquery

如何在点击向上ID时获取上方td输入框的ID。我尝试了很多方法,如父ID和以前的ID,但没有得到那个ID。

    function up(id) {
      var data = $(this).prev("input[type=text]").attr('id');
      alert(data)
    }


    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    td class="row">
    <input class="latest" id="old"  type="text" name="" >
  </td>
  <td class="second  margin_t8">

  <a href="javascript:void(0)" class="col-md-12"  onclick="up(this);"></a>

  </td>
  <td class="first margin_t8">
    <input class="latest" id="news"  type="text" name="" value="data">
  </td>

<!-- end snippet -->

在这种情况下,我得到未定义的值我希望在alert中获得之前的输入id new。如何在点击向上ID时获取上td输入框的ID。按ID而不是按类查找数据。

4 个答案:

答案 0 :(得分:1)

首先,this没有指向在这种情况下单击的按钮,因为您不使用jQuery来添加事件处理程序。但是,您可以使用event.target来获取单击的元素。另外,.prev()会将前一个元素返回到i标记undefined,因为它没有任何兄弟姐妹。

<强>更新

function up(id){
  var data = $(event.target).closest('td').prev().find('input[type="text"]').attr('id');
  alert(data);
}

答案 1 :(得分:0)

尝试将发送方(该元素正在调用该函数)作为参数传递给函数,如:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>

  <td class="row">
    <input class="latest" id="old"  type="text" name="" >
  </td>
  <td class="second  margin_t8">

  <a href="javascript:void(0)" class="col-md-12"  onclick="up(this);"></a>

  </td>
  <td class="first margin_t8">
    <input class="latest" id="news"  type="text" name="" value="data">
  </td>


</table>
<script>
  function up(sender) {
 
    var data = $(sender).prev("tr").find("input[type=text].latest").attr('id');
    alert(data);
  }
</script>

希望这有助于获取前一行的输入ID!

答案 2 :(得分:0)

尝试一下(未经测试)

var data=$(this).closest('form-grid-view-row').first().children("input[type=text]").attr('id');

答案 3 :(得分:0)

&#13;
&#13;
  function up(element) {
      var data = $(element).parent().prev().find("input[type=text]").attr('id');
      alert(data)
    }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>

  <td class="row">
    <input class="latest" id="old"  type="text" name="" >
  </td>
  <td class="second  margin_t8">

  <a href="javascript:void(0)" class="col-md-12"  onclick="up(this);">ss</a>

  </td>
  <td class="first margin_t8">
    <input class="latest" id="news"  type="text" name="" value="data">
  </td>


</table>
&#13;
&#13;
&#13;