从文本框中获取值

时间:2016-03-17 02:52:03

标签: jquery textbox

我有一个问题是使用jquery从文本框中获取值。我的代码如下:

Observable<([Options], [Options])>

我已设法获取商品的ID,但我无法获取所选文本框的值。

2 个答案:

答案 0 :(得分:1)

由于您的所有文本框都具有相同的ID,因此您无法按照您的方式选择任何特定文本框的值。

相反,您可以根据点击的按钮获取最接近的<tr>元素,然后找到输入并以此方式获取值。

例如

<table width="500" border="0">
    <tr>
        <td><input type="text" class="quantity-input" /></td>
        <td><input type="button" class="btn" p_id="item2" value="submit" /></td>
    </tr>
    <tr>
        <td><input type="text" class="quantity-input"/></td>
        <td><input type="button" class="btn" p_id="item3" value="submit" /></td>
    </tr>
    <tr>
        <td><input type="text" class="quantity-input" /></td>
        <td><input type="button" class="btn" p_id="item4" value="submit" /></td>
    </tr>
</table>

<script>
    $(document).ready(function(){
        $('.btn').click(function(){
            var row = $(this).closest('tr');
            var p_id = $(this).attr("p_id");
            var q_ty = row.find(".quantity-input").val();

            $.post("updateQty.php",{p_id:p_id, q_ty:q_ty},function(result){
                alert(result);
            });
        });
    });
</script>

注意,每个输入都有一个要选择的类,而不是id。

答案 1 :(得分:0)

有几个输入id = quantity ...我认为你应该更改它们以便你可以通过concat来区分你找到的p_id

<table width="500" border="0">
  <tr>
<td><input type="text" id="quantity_item2" /></td>
<td><input type="button" class="btn" p_id="item2" value="submit" /></td>
  </tr>
  <tr>
    <td><input type="text" id="quantity_item3" /></td>
    <td><input type="button" class="btn" p_id="item3" value="submit" /></td>
  </tr>
  <tr>
    <td><input type="text" id="quantity_item4" /></td>
    <td><input type="button" class="btn" p_id="item4" value="submit" /></td>
  </tr>
</table>

<script>
    $(document).ready(function(){
        $('.btn').click(function(){
            var p_id = $(this).attr("p_id");
            var q_ty = $('#quantity_' + p_id).val();
            $.post("updateQty.php",{p_id:p_id, q_ty:q_ty},function(result){
            alert(result);
            });
        });
    });
</script>