如何在单击按钮上获取文本框值?

时间:2015-05-14 07:32:01

标签: javascript jquery

我有一组8个表格,如下所示。所有类名相同,表单名相同。但是我将提供的输入在所有表格上都会有所不同。当我点击过滤器按钮时,我需要从文本框中获取输入值。如何使用$(this).在jquery中执行此操作? 这是我尝试过的。

$(".filterit").click(function(){
  $(this).$('myform').$('filter1').val();
});

HTML

    <form name="myform" method="post">
        <table class="pop-table">
        <tr><td><input type="text" value="" name="filter1" class="filter-1"><td></tr>
        <tr><td><input type="text" value="" name="filter2" class="filter-2"></td></tr>
        <tr><td><button class="btn btn-warning filterit">FILTER</button></td></tr></table>
    </form>

4 个答案:

答案 0 :(得分:2)

使用.closest()遍历最近的元素,使用.find()搜索元素类或ID或选择器,使用.val()获取输入值

$(".filterit").click(function(){
   $(this).closest('table').find('.filter-1').val(); // for first text box
   $(this).closest('table').find('.filter-2').val(); // for second
});

Fiddle

答案 1 :(得分:0)

你需要:

1)遍历到最近的表元素

2)并且其中包含选择器.filter-1的find元素

$(".filterit").click(function () {
   var inp1val = $(this).closest('table').find('.filter-1').val();
});

答案 2 :(得分:0)

&#13;
&#13;
$("#filter_btn").click(function(){
  $(this).parent().parent().find("#filter2").val();
});
&#13;
<form name="myform" method="post">
  <table class="pop-table">
    <tr><td><input type="text" value="" id="filter1" name="filter1" class="filter-1"><td></tr>
    <tr><td><input type="text" value="" id="filter2" name="filter2" class="filter-2"></td></tr>
    <tr><td><button id="filter_btn" class="btn btn-warning filterit">FILTER</button></td></tr></table>
</form>
&#13;
&#13;
&#13;

答案 3 :(得分:-1)

按钮类型=&#34;提交&#34;

那么你的活动应该是

$(".filterit").submit(function(){
    //this keyword is now the form that was submitted
});

希望这有帮助!