2010-11-18 3 views
0

Как я могу получить текущий идентификатор кода продукта, который будет добавлен в ячейку «imgsample» текущей строки?Запустите php-скрипт, основанный на текущем идентификаторе ввода, используя jquery

Пример можно найти здесь: http://www.jsfiddle.net/bpApd/3/

var counter = 0; 
    //Order Form 
    $("#add").click(function() { 
     counter++; 
     var cln = $('#ordertable tbody>tr:last').clone(true); 
     cln.find("[id^='prodcode'], [id^='meterage']").each(function(i, val) { 
      val.id = val.id.match(/^([^0-9]+)[0-9]*$/)[1] + "" + counter; 
     }); 
     cln.insertAfter('#ordertable tbody>tr:last'); 
     $('#ordertable tbody>tr:last input').val(''); 
     $('td.imgsample:last a').remove(); 
     return false; 
    }); 

$("#prodcode").blur(function() { 
$.post(
     'public/themes/lbd/js/searchimage.php', //this page reads the image code and gives you the image location 
     { action: 'searchimage', imgreference: $(this).val() }, 
     function(data) { 
      //export the link as data    
      $("td.imgsample").html(data); 
     } 
     ); 
}); 


<a href="#" id="add">add</a> 

<table id="ordertable"> 
    <tbody> 
     <tr> 
      <td>prod:<input type="text" id="prodcode" value="pr-initial" /></td> 
      <td>meter:<input type="text" id="meterage" value="mt-initial" /></td> 
      <td class="imgsample">&nbsp;</td> 
     </tr> 
    </tbody> 
</table> 

ответ

0

Изменение $('#prodcode').val() к $(this).val(), так как вы находитесь в контексте #prodcode вы хотите (вы в blur случае его)


обновление

Дело в том, что, поскольку вы глубоко клонируете строки таблицы, вы эффективно клонируете прикрепленные обработчики. Обработчики уже привязаны к элементам, которые в них нуждаются, и вам не нужно их повторно создавать в соответствии с новым динамическим селектором.

Это требуется только для того, чтобы назначить обработчик в первый раз первому элементу #prodcode.

Смотрите пример на http://www.jsfiddle.net/gaby/bpApd/1
Добавить некоторые элементы (with the add button) и нажмите на них, чтобы увидеть, что происходит ..

+0

Благодаря дурачок это $ ("# prodcode"). Размытости (функция() {аспект код, который изменяется, хотя ... потому что ваш щелчок в текстовом поле с # prodcode + id эффективно. Это имеет смысл? – Andy

+0

@ Andy см. объяснение и пример в обновленном ответе. –

+0

Это круто, что показывает id ... я вижу, что вы там делали, я должен признать, что я все еще немного смущен, как я меняю свою, чтобы запустить страницу с опубликованным значением и обновить imgsample. Извините :( – Andy