2013-11-21 5 views
0

не в состоянии извлечь значение текстового поляне в состоянии извлечь значение текстового поля

Я пытаюсь следующий код

$(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. 

Пожалуйста, посмотрите, пожалуйста, в чем проблема

+0

Пожалуйста, используйте последовательный отступы для вашего кода. –

ответ

3

Вам не хватает указатель "#" id

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

или

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

И <tr> должны быть обернуты <table> упаковывают ваш нет.

DEMO

0

Кроме того, это вы код внутри

$(document).ready(function() { 
...... 
}); 
+1

Это не должно быть, так как он использует $ (document) .on (' – Anton

+0

Хорошо, спасибо, я новичок в jQuery. –

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

вы можете просто использовать $ (это) .val(), чтобы получить значение этого элемента

+0

+1 не думал об этом ^^ Я был слишком сосредоточен на исправлении его кода – Anton

Смежные вопросы