单击输入元素时如何获取表单子文本

时间:2017-10-20 04:24:07

标签: javascript jquery html

这是我的HTML布局。我有多种形式:

 <table>
     <form>
         <tr>
             <td id="1">Text1</td>
             <td id="2">Text2</td>
             <input type="button" value="Submit" id="submit1">
         </tr>
     </form>
     <form>
         <tr>
             <td id="1">Text1</td>
             <td id="2">Text2</td>
             <input type="button" value="Submit" id="submit2">
         </tr>
     </form>

</table>

我想要的是在<td> id=1之间获取文字。我所做的是:

$(document).ready(function(){
    $('[id*="submit"]').on('click', function() {
        console.log($(this).closest("form").find('td first').text());
    }); 
});  

3 个答案:

答案 0 :(得分:1)

你几乎做对了!它应该是

flex-grow: 1;

您可能会考虑在此上下文中不使用ID;它们意味着独特。

答案 1 :(得分:1)

您可以使用解决方案

&#13;
&#13;
$(document).ready(function(){
  $('[id*="submit"]').on('click', function() {
    console.log($(this).closest('form').find('td').first().text());
  }); 
});  
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
  <table>
    <tr>
      <td id="form1-1">Form 1: Text1</td>
      <td id="form1-2">Text2</td>
       <input type="button" value="Submit" id="submit1">
     </tr>
 </table>
</form>
<form>
 <table>
   <tr>
     <td id="form2-1">Form 2: Text1</td>
     <td id="form2-2">Text2</td>
     <input type="button" value="Submit" id="submit2">
   </tr>
  </table>
</form>
&#13;
&#13;
&#13;

您的代码中几乎没有注意到的事情

  • id应该是唯一的
  • form标记应位于table
  • 之外

希望你能。

答案 2 :(得分:0)

你应该更喜欢上课而不是内容,就像Julia Finarovsky所说的那样,id应该是唯一的。

你几乎把它弄好了,尽管你忘记了:

tdfirst之间的find param
$(document).ready(function(){
    $('[id*="submit"]').on('click', function() {
        console.log($(this).closest("form").find('td:first').text());
    }); 
}); 

希望这有帮助。