无法获取文本框的值

时间:2013-11-21 08:27:10

标签: jquery

无法获取文本框的值

我正在尝试关注代码

 $(document).on('focusout', '.barcode', function(event){
                event.preventDefault();

                var pid=$(this).parents('.row').attr('id');
                alert(pid);
                var bcd=$(pid+' .barcode').val();
                alert($(pid+' .barcode'));
                alert(bcd);
                var datastr='barCode='+bcd;
                alert(datastr);
           });

我正在尝试跟随html

<tr class="row" id="item10">
                                    <td><input type="text" name="barcode" class="barcode" style="width: 50px"/></td>
                                    <td><input type="text" name="type" class="type" style="width: 50px"/></td>
                                    <td><input type="text" name="color" class="color" style="width: 50px"/></td>
                                    <td><input type="text" name="qty" class="qty" style="width: 50px"/></td>
                                    <td><input type="text" name="price" class="price" style="width: 50px"/></td>

                                </tr>


   value of var `id` is correct but `bcd` and `dataStr` is not correct.

请查看问题是什么

3 个答案:

答案 0 :(得分:3)

您缺少“#”ID指标

var bcd=$("#"+pid+' .barcode').val();

var pid="#"+$(this).parents('.row').attr('id');

并且<tr>必须用<table>包裹,因为你不是。{/ p>

DEMO

答案 1 :(得分:2)

       $(document).on('focusout', '.barcode', function(event){
            event.preventDefault();
            alert($(this).val());
       });

你可以使用$(this).val()来获取该元素的值

答案 2 :(得分:0)

另外,你是否在

中编码?
$(document).ready(function () {
......
});