我想動態添加行,所有行都必須具有唯一的ID,並自動在此處建議我的代碼。不幸的是它不工作。自動完成功能無法在動態創建的行上工作
我有以下結果
- 動態添加行。
- 動態添加所有測試框的Autosuggest。
所有動態添加元素的唯一ID。
$(document).ready(function() { var currentItem = 1; $('#itemCode_1').autocomplete({ source: 'data/item-data.php', minLength: 1, select: function(event, ui) { var $itemrow = $(this).closest('tr'); $itemrow.find('#itemCode_1').val(ui.item.itemCode); $itemrow.find('#itemDesc_1').val(ui.item.itemDesc); $itemrow.find('#itemPrice_1').val(ui.item.itemPrice); $('#itemQty_1').focus(); return false; } }).data("autocomplete")._renderItem = function(ul, item) { return $("<li></li>") .data("item.autocomplete", item) .append("<a>" + item.itemCode + " - " + item.itemDesc + "</a>") .appendTo(ul); }; $('#addRow').click(function(){ currentItem++; var strToAdd = '<tr class="item-row"><td></td><td><input name="itemCode[]" value="" class="tInput" id="itemCode_'+currentItem+'" tabindex="1"/> </td><td><input name="itemDesc[]" value="" class="tInput" id="itemDesc_'+currentItem+'" readonly="readonly" /></td><td><input name="itemQty[]" value="" class="tInput" id="itemQty_'+currentItem+'" onChange="calc('+currentItem+')" tabindex="2"/></td><td><input name="itemPrice[]" value="" class="tInput" id="itemPrice_'+currentItem+'" onChange="calc('+currentItem+')"/> </td><td> <input type="text" name="sub_total" id="sub_total_'+currentItem+'"></td></tr>'; $('#itemsTable').append(strToAdd); }); var bindfield=$('itemCode_'+currentItem+''); var itemdes=$('#itemDesc_'+currentItem+''); var itempr=$('#itemPrice_'+currentItem+''); var itemqty=$('#itemQty_'+currentItem+''); bindfield.each(function(){ $(this).autocomplete({ source: 'data/item-data.php', minLength: 1, select: function(event, ui) { var $itemrow = $(this).closest('tr'); $itemrow.find(bindfield).val(ui.item.itemCode); $itemrow.find(itemdes).val(ui.item.itemDesc); $itemrow.find(itempr).val(ui.item.itemPrice); $(itemqty).focus(); return false; } }); }) $('#itemCode').focus(function(){ window.onbeforeunload = function(){ return "You haven't saved your data. Are you sure you want to leave this page without saving first?"; }; }); });
不工作意味着它如何工作expalin的詳細信息 –
我能夠添加動態行和第一行自動完成工作正常,但我們爲該自動完成動態添加的其他行不起作用 – user1749035
它看起來像你幾乎直的警察ied http://www.codemashups.com/jquerys-autocomplete-using-multiple-inputs-in-same-table/並試圖做,除了添加唯一的ID之外,不確定它是什麼?我看到你已經添加了一個函數來執行'calc',但是不要給我們這個函數來處理。我會建議使用JSFiddle來創建一個JSFiddle,所以我們可能會看到你擁有的所有東西 - 儘管更改爲JSFiddle的本地源代碼。 – Jon