按下按钮时禁用表格中的某些输入

时间:2015-10-12 10:15:06

标签: javascript jquery html html-table

我目前有一个表,其中包含一些值,2个输入字段和该表中每行的按钮。我想要发生的是,当我按下第三行中的按钮时,第三行中的输入字段将被禁用。其他行应保持不受影响。不幸的是,由于程序的性质,无法在输入和按钮中添加ID。

有没有人知道一个很好的方法来解决这个问题?

<tr>
    <td>Text A</td>
    <td>Text B</td>
    <td><input class="editable"></td>
    <td>Text C</td>
    <td><input class="editable></td>
    <td>Text D</td>
    <td><button class="disableInput">OK</button></td>
<tr>

我有〜这样的40行

此外,由于表格不断地自动保存到数据库(用于输入),表格每0.5秒刷新一次

3 个答案:

答案 0 :(得分:5)

SEARCH(" ", A1, SEARCH(" ", A1) + 1)

答案 1 :(得分:0)

您可以通过遍历DOM来实现此目的。

&#13;
&#13;
$('.disableInput').on('click',function(){                      
     var input = $(this).closest('tr').find('input');
     var currstatus = input.prop('disabled');
     input.prop('disabled',!currstatus);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<table>
  <tr>
     <td><input type="text" name="somthing[]"></td>
     <td><input type="text" name="something[]"></td>
     <td><button class="disableInput">Toggle Input</button></td>
  </tr>
   <tr>
     <td><input type="text" name="somthing[]"></td>
     <td><input type="text" name="something[]"></td>
     <td><button class="disableInput">Toggle Input</button></td>
  </tr>
   <tr>
     <td><input type="text" name="somthing[]"></td>
     <td><input type="text" name="something[]"></td>
     <td><button class="disableInput">Toggle Input</button></td>
  </tr>
</table>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

由于您使用的是jQuery,因此可以执行以下操作:

$(document).ready(function() {
  $("table td .btn").click(function() {
    if ($(this).closest("tr").find("input").attr("disabled") === "disabled"){
      $(this).closest("tr").find("input").removeAttr("disabled", "disabled");
      $(this).closest("tr").find("button").text("Disbale");
    }  
    else{
      
      $(this).closest("tr").find("input").attr("disabled", "disabled");
      $(this).closest("tr").find("button").text("Enable");
     } 
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
  <tbody>
    <tr>
      <td>
        <input type="text" />
      </td>
      <td>
        <input type="text" />
      </td>
      <td>
        <button class="btn" type="button" />Disable</button>
      </td>
    </tr>
    <tr>
      <td>
        <input type="text" />
      </td>
      <td>
        <input type="text" />
      </td>
      <td>
        <button class="btn" type="button" />Disable</button>
      </td>
    </tr>
    <tr>
      <td>
        <input type="text" />
      </td>
      <td>
        <input type="text" />
      </td>
      <td>
        <button class="btn" type="button" />Disable</button>
      </td>
    </tr>
  </tbody>
</table>