2014-01-27 4 views
0

Я использую плагин jquery, который позволяет пользователю добавлять динамические атрибуты формы в это время. Я хочу назначить динамический идентификатор на основе подсчета строк таблицы, поскольку элементы формы, представленные в b/w table tr td. вот мой код для генерации динамического ТРКак назначить динамический идентификатор для элементов динамической формы через jquery

<script> 

function onClick(e) { 
    var element = e.target.querySelector('[contenteditable]'), row; 

    element && e.target != document.documentElement && e.target != document.body && element.focus(); 

    if (e.target.matchesSelector('.add')) { 
     var rc = $('.inventory tbody tr').length; //rcount 
        document.querySelector('table.inventory tbody').appendChild(generateTableRow(rc)); 
    } 
    else if (e.target.className == 'cut') { 
     row = e.target.ancestorQuerySelector('tr'); 

     row.parentNode.removeChild(row); 
    } 


} 

function generateTableRow(x) { 
     var emptyColumn = document.createElement('tr'); 
     var now=Number(x)+1; 
     alert(now);  
emptyColumn.innerHTML = '<td><a class="cut">-</a><span contenteditable><input type="text" id="now" name="products[]" onkeydown=display(now,this.value)></span></td>' + 
     '<td><span contenteditable></span></td>' + 
     '<td><span data-prefix>$</span><span contenteditable>0.00</span></td>' + 
     '<td><span contenteditable>0</span></td>' + 
     '<td><span data-prefix>$</span><span>0.00</span></td>'; 

    return emptyColumn; 
} 

function display(id,value) 
{ 
alert(id); // here it was displaying as object node list.it was not showing its id which was a number. 
} 
</script> 

, пожалуйста, помогите мне, чтобы получить точный идентификатор конкретного текстового поля.

ответ

0

Now переменный ....

При использовании переменных в инлайн Javascript вы должны заботиться о кавычках ...

Используйте этот код ....

function generateTableRow(x) { 
    var emptyColumn = document.createElement('tr'); 
    var now=Number(x)+1; 
    emptyColumn.innerHTML = '<td><a class="cut">-</a><span contenteditable><input type="text" id="'+now+'" name="products[]" onkeydown=display(this)></span></td>' + 
          '<td><span contenteditable></span></td>' + 
          '<td><span data-prefix>$</span><span contenteditable>0.00</span></td>' + 
          '<td><span contenteditable>0</span></td>' + 
          '<td><span data-prefix>$</span><span>0.00</span></td>'; 
        return emptyColumn; 
} 


function display(field){ // just pass the element 
    alert(field.id+" , "field.value); // this will give id and value 
} 
Смежные вопросы