我的目標是執行多頁/瀏覽次數相同的情況下的自動完成功能,對於具有相同的類名相同的輸入(即客戶端名稱是自動完成的許多頁面像創建和編輯視圖等)。在需要JavaScript回調在多個頁面相同的函數名
因爲我需要調用jQuery的autocomplete()
在每一頁,我已經寫在
查看\ Shared_Layout.cshtml我的項目
頁所以自動完成功能將提供。我已經寫在_Layout.cshtml的代碼如下:
<script>
$(document).ready(function() {
//common
$('.form-control.salescode').autocomplete({
minLength: 4,
source: '@Url.Action("GetAccountManager", "AccountManager")',
select: callBackSalesCodeLookUp
});
});
</script>
然後任何View(創建或編輯)要求,自動完成功能,把這種現象稱之爲代碼:
<script>
function callBackSalesCodeLookUp(event, ui)
{
event.preventDefault();
var selectedArr = ui.item.value.split("|");
var accountManagerID = selectedArr[0];
var accountManagerName = selectedArr[1];
$('.form-control.salescode').val(accountManagerID);
}
</script>
然而,當我跑的項目中,我得到的已經不具有下面的代碼頁的錯誤,這是預期:
function callBackSalesCodeLookUp(event, ui)
{
event.preventDefault();
var selectedArr = ui.item.value.split("|");
var accountManagerID = selectedArr[0];
var accountManagerName = selectedArr[1];
$('.form-control.salescode').val(accountManagerID);
}
我正的錯誤,是在Chrome爲:
jquery-3.1.1.js:3855 Uncaught ReferenceError: callBackSalesCodeLookUp is not defined at HTMLDocument. (Login?ReturnUrl=%2FAccountOpeningRegister%2FCreate:393) at mightThrow (jquery-3.1.1.js:3570) at process (jquery-3.1.1.js:3638)
我想減少代碼,這是我編造這樣的原因。我會很高興知道有這個編碼任何更好的辦法。
謝謝你
大!!!!有用! – hiFI