[英]Get Value of ID after JQuery Autocomplete
我有兩個利用自動完成功能的TextBoxFor字段。 在用選定的自動完成值或手動值填充它們之后,其他JavaScript函數在引用ID.val()時將為空白。 為了獲得這些值需要添加/更改什么? 提前致謝!
編輯:在發送到View之前在Controller中預填充字段,該函數調用可以檢索正確的預填充值。 似乎只有在用戶嘗試編輯字段和/或使用自動完成功能時,字段值才被識別。
EDIT2:我嘗試將函數綁定到document.ready,然后單擊,然后單擊document.on,但沒有人在文本框ID中找到值。
剃刀:
<div class="row">
<div class="col-lg-12">
@Html.LabelFor(m => m.AddedWorkmate, "Workmate To Add", new { @class = "control-label" })
@Html.TextBoxFor(m => m.AddedWorkmate, new { data_autocomplete_url = Url.Action("GetWorkmates"), @class = "form-control" })
</div>
</div>
<div class="row">
<div class="col-lg-4">
<button type="button" id="bUser" name="bUserButton" class="btn btn-primary btn-sm">Add Workmate Recipient</button>
</div>
</div>
腳本:
function ExampleFunction() {
var $addedW = $("#AddedWorkmate");//This should work, but apparently doesn't
var textTest = $addedW.text(),// = ""
valueTest = $addedW.val();// = ""
//Stuff to do
}
我認為如果您輸入自動完成功能並且仍然有焦點,那么輸入將無法檢測到更改。 您是否嘗試過轉義文本框並事后調用ExampleFunction
?
您也可以在此文本框的input
事件上綁定ExampleFunction
。 input
是在用戶鍵入或粘貼時觸發的,因此它也應與自動完成功能一起使用。
(function(){
$('#AddedWorkmate').on("input", ExampleFunction);
}
)();
function ExampleFunction() {
var text = $(this).val();
}
編輯:
請嘗試以下步驟:
m => m.AddedWorkmate
文本框中輸入或粘貼一些文本,例如test
。 $("#AddedWorkmate).val()
。 "test"
的響應。 input
(function(){
$('#AddedWorkmate').on("input", function(){console.log('test')});
}
)();
$(this).val()
,我看不到任何其他可能性。 如果它不是未定義的並且值仍然為空,那么您在問題范圍之外做錯了什么。 將您想要的ID添加到文本框中,以便您可以從jQuery引用它。
@Html.TextBoxFor(m => m.AddedWorkmate, new { data_autocomplete_url = Url.Action("GetWorkmates"), @class = "form-control", id="AddedWorkmate" })
所有這些背后都有一個草率的錯誤:該字段在網頁的前面被聲明為@HiddenFor。 看到輸入在源代碼上“隱藏”后,該行被刪除,一切正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.